C# Serilog自定义日志级别名称

C# Serilog自定义日志级别名称,c#,.net,serilog,C#,.net,Serilog,我知道当使用serilog登录时,日志级别的名称(Verbose,Debug,信息,警告等)可以保留其全名,也可以通过执行类似于{level:u3}的操作来截断为大写或小写表示-但我如何才能完全更改级别名称 例如,我可能希望级别名称使用不同的语言,以匹配应用程序的其余部分 或者,在我的特殊情况下,我发现级别“全名”太大了,但如果所有级别的名称都具有特定的长度,则在快速滚动日志时,识别不同级别的消息会困难得多 因此,我想改为: VERBOSE DBG INFO 警告 *例外情况* **致命**

我知道当使用serilog登录时,日志级别的名称(
Verbose
Debug
信息
警告
等)可以保留其全名,也可以通过执行类似于
{level:u3}的操作来截断为大写或小写表示
-但我如何才能完全更改级别名称

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

或者,在我的特殊情况下,我发现级别“全名”太大了,但如果所有级别的名称都具有特定的长度,则在快速滚动日志时,识别不同级别的消息会困难得多

因此,我想改为:

  • VERBOSE
  • DBG
  • INFO
  • 警告
  • *例外情况*
  • **致命**

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

您可以使用serilog的自定义格式化程序,并在那里按照自己的意愿编写消息级别

ITextFormatter
可能更适合您的需要:

您可以使用带有Serilog的自定义格式设置程序,并在那里按照自己的级别编写消息

ITextFormatter
可能更适合您的需要:

创建一个Enricher,将级别映射到所需的字符串,然后引用它在
输出模板中添加的字段


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

创建一个Enricher将级别映射到所需的字符串,然后引用它在
输出模板中添加的字段


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

这是否回答了您的问题?这回答了你的问题吗?