Ken*_*ora 7 .net c# logging serilog
我正在尝试为serilog消息创建一个全局输出模板,其格式如下:
{Timestamp:yyyy-MM-dd HH:mm:ss,fff} [{ComponentName}, {ApplicationName}, {ThreadId}] {Level} ({ErrorId}): {Message} {Exception}
Run Code Online (Sandbox Code Playgroud)
我遇到的麻烦是,有些消息不包含错误ID,异常或ThreadIds.因此,当这种情况发生时,我得到一条消息,其中包含一堆字符,这些字符会在日志消息中添加噪音,例如,
2015-06-24 15:11:03,234 [Component, MyApp, ] Info (): This is a message that I'm writing
是否可以在消息模板中使用Serilog支持可选参数?
我在我的应用程序中使用 Serilog,就像您注意到的那样,“丢失”字段将“消失”,但这些占位符周围的字符格式却不会。
我建议更改消息模板的格式,以便可选字段出现在后续行中(可以忽略),或者进行格式化以使您不会注意到它们的缺失。
您还可以围绕应用程序调用的 Serilog 日志记录方法(logger.Debug、logger.Warning、logger.Information 等)编写一个包装器,该包装器具有逻辑(或重载方法)来了解存在哪些值以及哪些值缺席。包装器代码将提供具有正确组合的适当消息模板,以避免消息中出现额外字符。
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |