Example #1
0
        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);
        }