我正在使用serilog / serilog-sinks-xamarin,如here所述
在.Android项目中,我添加了以下代码:
Log.Logger = new LoggerConfiguration().WriteTo.AndroidLog().Enrich.WithProperty("Tag", "CustomTag").CreateLogger();
从便携式课程中调用它:
Log.Information("App is Starting");
我可以在设备日志中看到此行,但标记为空白: missing tag
答案 0 :(得分:0)
Enrich.WithProperty
必须设置为Constants.SourceContextPropertyName
,其中Serilog
是值的常量字符串:SourceContext
。
在LoggerConfiguration
中使用“SourceContext”:
Log.Logger = new LoggerConfiguration().WriteTo.AndroidLog().Enrich.WithProperty("SourceContext", "CustomTag").CreateLogger();
在serilog-sinks-xamarin
中,日志标记通过以下方式分配:
var tag = logEvent.Properties.Where(x => x.Key == Constants.SourceContextPropertyName).Select(x => x.Value.ToString("l", null)).FirstOrDefault() ?? "";