【发布时间】:2016-01-28 06:03:44
【问题描述】:
我是 Serilog 的新手,我只在需要时才显示类名,而不必在每条日志消息中添加 {SourceContext:l}。我知道我可以将代码编写为:
Log.ForContext<Class1>().Verbose("message {SourceContext:l}");
我的记录器设置如下:
var log = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo
.ColoredConsole(outputTemplate: "{Timestamp:G} [{Level}] {SourceContext} {Message}{NewLine:l}{Exception:l}")
.CreateLogger();
我希望只在指定类时才显示类名,如此处所示。
Log.ForContext<Class1>().Verbose("message");
如果日志创建的样子不显示。
Log.Verbose("message");
然而,在上面的例子中,它会以如下格式打印一个日志 '{SourceContext} message' 而不是我想要的'message'。
【问题讨论】: