在使用例如Serilog与Servicestack?
Serilog和NLog的示例都具有Log.Information("Hello World from {FirstName}", "Thomas");
的形式,我无法在ServiceStack中找到匹配的方法签名。
答案 0 :(得分:3)
请参阅enhanced Serilog Logging APIs的日志记录文档,而此existing StackOverflow answer显示了Serilog Enrichers示例。
SerilogLoggerTests.cs显示了使用Serilog的不同示例:
Parent
Item1
Subitem1
Subitem2
Item2
Item3
和带有自定义属性的Log Context示例:
var log = new SerilogLogger(GetType());
const string message = "Error Message";
const string messageFormat = "Message Format: message: {0}, exception: {1}";
var ex = new Exception();
log.Info(message);
log.Info(message, ex);
log.InfoFormat(messageFormat, message, ex.Message);
log.Info(ex, messageFormat, messageFormat, ex);
还有var log = new SerilogLogger(new LoggerConfiguration()
.WriteTo.Sink(sink).CreateLogger());
var messageTemplate = "Testing adding {prop2} props";
log.ForContext("prop", "value").InfoFormat(messageTemplate, "awesome");
个API来分配自定义属性,有关示例,请参见Serilog's Enrichment docs。