Пример #1
0
        public void DefaultLogConfigurationWillRollFiles(string metricType, string metricName)
        {
            using (var defaultLog4NetConfiguration = new RealLog4NetConfigurationFixture())
            {
                var sut = new Log4NetCsvAppender(new RealLog4NetLoggerProvider(), new LoggingEventMapper());
                for (int i = 0; i < 100000; i++) // > 10 Mb
                {
                    sut.AppendLine(DateTime.Now, metricType, metricName, new List <CSVReport.Value>());
                }
                LogManager.ShutdownRepository();

                var rolledFileName = Path.Combine(defaultLog4NetConfiguration.LogsDirectory, string.Format("Metrics.CSV.{0}.csv.1", metricType));
                Assert.True(File.Exists(rolledFileName));
                Console.WriteLine(File.ReadAllText(rolledFileName));
                Assert.True(File.ReadAllLines(rolledFileName).Count() >= 2, "log file should have at least 2 lines, one for header and one for data");
            }
        }
Пример #2
0
        public void LoggingEventPropertiesAreFilled([Frozen] Mock <ILoggerProvider> loggerProvider, [Frozen] Mock <ILogger> logger, [Frozen] Mock <ILoggingEventMapper> loggingEventMapper, Log4NetCsvAppender sut)
        {
            loggerProvider.Setup(x => x.GetLogger(It.IsAny <MetricsData>())).Returns(logger.Object);

            logger.Setup(x => x.IsEnabledFor(Level.Info)).Returns(true);

            var actualLoggingEvent = new LoggingEvent(new LoggingEventData());

            loggingEventMapper.Setup(x => x.MapToLoggingEvent(logger.Object.Name, It.IsAny <DateTime>(), It.IsAny <MetricsData>())).Returns(actualLoggingEvent);

            sut.AppendLine(DateTime.Now, "Timer", "SomeTimerMetric", new List <CSVReport.Value> {
                new CSVReport.Value("Count", 1)
            });

            logger.Verify(x => x.Log(actualLoggingEvent));
        }
Пример #3
0
        public void WillLogIfLevelIsInfo([Frozen] Mock <ILoggerProvider> loggerProvider, [Frozen] Mock <ILogger> logger, [Frozen] Mock <ILoggingEventMapper> loggingEventMapper, Log4NetCsvAppender sut)
        {
            loggerProvider.Setup(x => x.GetLogger(It.IsAny <MetricsData>())).Returns(logger.Object);

            logger.Setup(x => x.IsEnabledFor(Level.Info)).Returns(true);
            loggingEventMapper.Setup(x => x.MapToLoggingEvent(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <MetricsData>())).Returns(new LoggingEvent(new LoggingEventData()));

            sut.AppendLine(DateTime.Now, "MetricType", "MetricName", new List <CSVReport.Value>());

            logger.Verify(x => x.Log(It.IsAny <LoggingEvent>()));
        }
Пример #4
0
        public void DoNotLogIfLevelLessThanInfo([Frozen] Mock <ILoggerProvider> loggerProvider, [Frozen] Mock <ILogger> logger, Log4NetCsvAppender sut)
        {
            loggerProvider.Setup(x => x.GetLogger(It.IsAny <MetricsData>())).Returns(logger.Object);

            logger.Setup(x => x.IsEnabledFor(Level.Info)).Returns(false);

            sut.AppendLine(DateTime.Now, "MetricType", "MetricName", new List <CSVReport.Value>());

            logger.Verify(x => x.Log(It.IsAny <LoggingEvent>()), Times.Never());
        }