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"); } }
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)); }
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>())); }
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()); }