我正在尝试在.NET Core控制台应用程序中使用Serilog(控制台和文件)。
在我的主类中,我这样初始化记录器:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.File("log.txt", outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}.{Method}) {Message}{NewLine}{Exception}")
.WriteTo.Console(outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}.{Method}) {Message}{NewLine}{Exception}")
.CreateLogger();
使用{SourceContext}.{Method}
,我想知道我要从哪个类和方法登录。
我想在其他课程中使用具有相同设置的此记录器。所以例如我在其中之一中初始化记录器:
private readonly ILogger _log = Log.ForContext<MyClass>();
但是我怀疑这是否正在生成我想要的日志,因为当我尝试记录这样的异常时
Log.Error(ex.Message);
我得到的日志没有提及类和方法:
2018-11-08 09:24:51.647 +01:00 [错误](。)字符串'11 / 01/2018 11:43:00”未被识别为有效的DateTime。
似乎在Main方法中发生了错误。因此: