public void Should_be_able_to_apply_filter_using_filterstateconfiguration() { var loggingFilter = new LoggingFilter(new List <ILogFilter>()); FilterStateConfiguration filterStateConfiguration = new FilterStateConfiguration(loggingFilter); filterStateConfiguration.MaskField("testfield"); filterStateConfiguration.MaskFieldAsCreditCard("CreditCardNo"); var filters = filterStateConfiguration.Apply(); var id = Convert.ToString(Guid.NewGuid()); var apiLog = Utility.GetApiLog(); apiLog.Id = id; apiLog.SetValue("CreditCardNo", "4444555555555555"); apiLog.SetValue("testfield", "abcde12345"); var formatter = JsonLogFormatter.Instance; var firehoseSink = Utility.GetFirehoseSink(); var redisSink = Utility.GetRedisSink(); var compositeSink = Utility.GetCompositeSink(formatter, redisSink, firehoseSink); var logWriter = new LogWriter(formatter, compositeSink, filters.Filters); logWriter.WriteAsync(apiLog).GetAwaiter().GetResult(); //Thread.Sleep(60000); var logData = Utility.GetEsLogDataById(id); var esLogId = string.Empty; var expected = "444455******5555"; string actual; logData.TryGetValue("CreditCardNo", out actual); var expected1 = "a********5"; string actual1; logData.TryGetValue("testfield", out actual1); Assert.Equal(expected, actual); Assert.Equal(expected1, actual1); }