public ILogger GetLogger(MetricsData metricsData)
        {
            if (metricsData == null) throw new ArgumentNullException("metricsData");

            var loggerName = string.Format(CultureInfo.InvariantCulture, "Metrics.CSV.{0}.{1}", metricsData.MetricType, metricsData.MetricName);
            var logger = LogManager.GetLogger(loggerName).Logger;

            return logger;
        }
        public void MetricsDataPropertiesAreCopied(string loggerName, DateTime dateTime, MetricsData metricsData, LoggingEventMapper sut)
        {
            var actual = sut.MapToLoggingEvent(loggerName, dateTime, metricsData);

            Assert.Equal(metricsData.MetricType, actual.Properties["MetricType"]);
            Assert.Equal(metricsData.MetricName, actual.Properties["MetricName"]);

            foreach (var value in metricsData.Values)
            {
                Assert.Equal(value.FormattedValue, actual.Properties[value.Name]);
            }
        }
        public override void AppendLine(DateTime timestamp, string metricType, string metricName, IEnumerable<CSVReport.Value> values)
        {
            var metricsData = new MetricsData { MetricType = metricType, MetricName = metricName, Values = values };

            var logger = loggerProvider.GetLogger(metricsData);

            if (!logger.IsEnabledFor(Level.Info)) return;

            var loggingEvent = loggingEventMapper.MapToLoggingEvent(logger.Name, timestamp, metricsData);

            logger.Log(loggingEvent);
        }
 public void TicksIsCreated(string loggerName, DateTime dateTime, MetricsData metricsData, LoggingEventMapper sut)
 {
     var actual = sut.MapToLoggingEvent(loggerName, dateTime, metricsData);
     Assert.Equal(dateTime.Ticks.ToString("D"), actual.Properties["Ticks"]);
 }
 public void LoggerNameIsCopied(string loggerName, DateTime dateTime, MetricsData metricsData, LoggingEventMapper sut)
 {
     var actual = sut.MapToLoggingEvent(loggerName, dateTime, metricsData);
     Assert.Equal(loggerName, actual.LoggerName);
 }
 public void LevelIsInfo(string loggerName, DateTime dateTime, MetricsData metricsData, LoggingEventMapper sut)
 {
     var actual = sut.MapToLoggingEvent(loggerName, dateTime, metricsData);
     Assert.Equal(Level.Info, actual.Level);
 }