You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.4 KiB
C#

using Serilog.Core;
using Serilog.Events;
namespace SlnMesnac.Serilog
{
// 自定义日志级别缩写增强器
public class CustomLogLevelAbbreviationEnricher : ILogEventEnricher
{
public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
{
string abbreviation;
switch (logEvent.Level)
{
case LogEventLevel.Verbose:
abbreviation = "VRB";
break;
case LogEventLevel.Debug:
abbreviation = "DBG";
break;
case LogEventLevel.Information:
abbreviation = "INF";
break;
case LogEventLevel.Warning:
abbreviation = "WRN";
break;
case LogEventLevel.Error:
abbreviation = "ERR";
break;
case LogEventLevel.Fatal:
abbreviation = "FTL";
break;
//case (LogEventLevel)35: // 自定义的 AgvLevel
// abbreviation = "AGV";
// break;
default:
abbreviation = logEvent.Level.ToString();
break;
}
logEvent.AddPropertyIfAbsent(propertyFactory.CreateProperty("LevelAbbreviation", abbreviation));
}
}
}