in Backend/src/Trackable.Func/Shared/TraceWriterLogger.cs [28:73]
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
if (!IsEnabled(logLevel))
{
return;
}
if (formatter == null)
{
throw new ArgumentNullException(nameof(formatter));
}
var message = formatter(state, exception);
if (string.IsNullOrEmpty(message))
{
return;
}
message = $"{ logLevel }: {message}";
if (exception != null)
{
message += Environment.NewLine + Environment.NewLine + exception.ToString();
}
switch (logLevel)
{
case LogLevel.Information:
writer.Info(message, categoryName);
break;
case LogLevel.Debug:
writer.Verbose(message, categoryName);
break;
case LogLevel.Trace:
writer.Verbose(message, categoryName);
break;
case LogLevel.Warning:
writer.Warning(message, categoryName);
break;
case LogLevel.Critical:
case LogLevel.Error:
writer.Error(message, ex: exception, source: categoryName);
break;
}
}