【问题标题】:Serilog custom log level namesSerilog 自定义日志级别名称
【发布时间】:2019-11-20 01:57:34
【问题描述】:

我知道,使用 serilog 记录时,日志级别名称(VerboseDebugInformationWarning 等)可以保留其全名,也可以截断为大写或通过执行类似于{Level:u3} 的小写表示 - 但我怎样才能完全更改级别名称?

例如,我可能希望级别名称使用不同的语言以匹配我的应用程序的其余部分。

或者,在我的特定情况下,我发现级别“全名”太大了,但是所有级别名称都具有特定长度使得在快速滚动日志时识别不同级别的消息变得更加困难.

所以我想改为:

  • VERBOSE
  • DBG
  • INFO
  • WARNING
  • *EXCEPTION*
  • **FATAL**

但我不知道如何做到这一点。这在serilog中如何实现?

【问题讨论】:

标签: c# .net serilog


【解决方案1】:

您可以在 Serilog 中使用自定义格式化程序,并根据需要编写具有级别的消息。

https://github.com/serilog/serilog/wiki/Formatting-Output

ITextFormatter 可能更适合您的需要:
https://stackify.com/serilog-tutorial-net-logging/

【讨论】:

    【解决方案2】:

    您创建一个 Enricher 以将级别映射到您想要的字符串,然后您引用它在 outputTemplate 中添加的字段

    但是,您最好使用:u3 或其他稳定的长度渲染(或执行{LogLevel,10:u} 之类的操作以使列固定宽度)

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 2022-09-23
      • 2019-02-02
      相关资源
      最近更新 更多