예제 #1
0
        /// <inheritdoc/>
        public void LogMetrics(LogLevel level, IEnumerable <string> txtFields, IEnumerable <double> numFields)
        {
            var txtCount = 0;
            var numCount = 0;

            if (txtFields != null)
            {
                txtCount = txtFields.Count();
            }

            if (numFields != null)
            {
                numCount = numFields.Count();
            }

            if (txtCount == 0 && numCount == 0)
            {
                return;     // Nothing to write.
            }

            var message = NeonLogger.FormatMetrics(txtFields, numFields);

            switch (level)
            {
            case LogLevel.Critical:

                LogCritical(message);
                break;

            case LogLevel.Debug:

                LogDebug(message);
                break;

            case LogLevel.Error:

                LogError(message);
                break;

            case LogLevel.Info:

                LogInfo(message);
                break;

            case LogLevel.None:

                break;      // NOP

            case LogLevel.SError:

                LogSError(message);
                break;

            case LogLevel.SInfo:

                LogSInfo(message);
                break;

            case LogLevel.Warn:

                LogWarn(message);
                break;

            default:

                throw new NotImplementedException();
            }
        }
예제 #2
0
 /// <inheritdoc/>
 public void LogMetrics(LogLevel level, IEnumerable <string> txtFields, IEnumerable <double> numFields)
 {
     log.LogMetrics(level, txtFields, numFields);
     capture.AppendLine($"[{level.ToString().ToUpperInvariant()}] {NeonLogger.FormatMetrics(txtFields, numFields)}");
 }