gpt4 book ai didi

Azure 和 log4net - 删除进程名称

转载 作者:行者123 更新时间:2023-12-02 23:50:32 27 4
gpt4 key购买 nike

我正在尝试配置 log4net 以通过 Azure 进行日志记录。但是,一旦日志到达存储,日志源就会附加到日志消息中-

WorkerRole.WorkerRole:开始角色测试

我需要精确的日志格式,但是 log4net 将 WorkerRole.WorkerRole: 添加到消息中。

这是我用于 log4net 设置的配置-

<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- can be any pattern you like -->
<conversionPattern value="%message" />
</layout>
</appender>
<!-- does not have to be at the root level -->
<root>
<level value="ALL" />
<appender-ref ref="TraceAppender" />
</root>
</log4net>

最佳答案

我也遇到了同样的问题。

在调试 session 中查看 Trace Appender,我可以看到 TraceAppender.Category = "%logger" 根据 documentation

Defaults to %logger which will use the logger name of the current LoggingEvent as the category parameter.

进一步挖掘发现this登录Log4Net错误跟踪

TraceAppender : Add switch to disable using logger name as trace category

该项目已标记为已修复,但不清楚您添加到配置文件中的具体内容。对对话线程上的一些建议进行了一些测试,发现您可以将类别设置为您想要的内容,因此如果您不需要任何内容​​,只需将其添加到您的配置中即可:

<category value="" />

确保它是 appender 标记的子级,例如

<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<category value="" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level - %message%newline" />
</layout>
</appender>

或者,我想您可以尝试创建一个从 log4net.Appender.TraceAppender 派生的新附加程序,并覆盖 Category 属性以强制其为您自己的值。

关于Azure 和 log4net - 删除进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32107043/

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