gpt4 book ai didi

c# - 如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?

转载 作者:可可西里 更新时间:2023-11-01 09:04:09 25 4
gpt4 key购买 nike

当我在 logger.Warn 下面做任何事情时,我想写信给 Console.Out 然后我想写信给 Console.Err 当我记录任何 logger.Error 及以上的内容时。我将如何编写我的 log4net 配置文件?

到目前为止我有:

<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>

最佳答案

您可以创建两个附加程序,并以不同方式配置它们。像(未经测试):

<log4net>
<appender name="ConsoleOutAppender" type="log4net.Appender.ConsoleAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="WARN" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="..." />
</layout>
</appender>
<appender name="ConsoleErrorAppender" type="log4net.Appender.ConsoleAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<target value="Console.Error" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="..." />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleOutAppender" />
<appender-ref ref="ConsoleErrorAppender" />
</root>
</log4net>

编辑:更正了 levelMinlevelMax 的逻辑错误。

关于c# - 如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com