简体   繁体   English

Log4Net - 为级别类型设置conversionPattern

[英]Log4Net - Set conversionPattern for Level Type

我试图在我的C#WinForms App.config中设置Log4Net,并希望为Debug / Fatal / Info等设置不同的conversionPattern。有谁知道怎么做?

You can only do one conversion pattern per appender. 每个appender只能执行一个转换模式。 However Appenders can have level filters. 然而,Appender可以有级别过滤器。 You could create a different appender for each conversion pattern and then apply the appropriate filter. 您可以为每个转换模式创建不同的appender,然后应用适当的过滤器。 For example: 例如:

<appender>
  <filter type="log4net.Filter.LevelMatchFilter">
    <levelToMatch value="ERROR"/>
  </filter>
</appender>

This log4net Tutorial has all the details. 这个log4net教程包含所有细节。

I'm pretty sure its not possible to assign a different conversion pattern on an appender per log level. 我很确定不可能在每个日志级别的appender上分配不同的转换模式。

You could create multiple appenders with differing thresholds and setup different conversion patterns per appender. 您可以创建具有不同阈值的多个appender,并为每个appender设置不同的转换模式。 This still wont get you 100% of what you're after however. 然而,这仍然不会让你获得你所追求的100%。

you can use pattern layout converter https://devstuffs.wordpress.com/2012/01/12/creating-your-own-pattern-layout-converter-for-log4net/ 你可以使用模式布局转换器https://devstuffs.wordpress.com/2012/01/12/creating-your-own-pattern-layout-converter-for-log4net/

In the convert function you get the log level and then you can provide pattern depends on the level. 在转换函数中,您获得日志级别,然后您可以提供模式取决于级别。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM