gpt4 book ai didi

Log4net traceappender 不记录任何内容

转载 作者:行者123 更新时间:2023-12-02 10:09:24 25 4
gpt4 key购买 nike

我想将 log4net 记录的所有内容重定向到 System.Diagnostics Trace 类。我对应该做什么的理解是将 log4net 指向 system.diagnostics.traceappender,然后配置 system.diagnostics。以下是我的 web.config 中的重要部分:

<log4net>
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
<immediateFlush value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>

<root>
<priority value="DEBUG"/>
<appender-ref ref="trace"/>
</root>
</log4net>


<system.diagnostics>
<sources>

<source name="Console" switchName="DefaultSwitch">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
</listeners>
</source>

<source name="Metabase" switchName="MetabaseSwitch">
<listeners>
<add name="MetabaseListener" />
<remove name="Default" />
</listeners>
</source>

<source name="TextFile" switchName="TextFileSwitch">
<listeners>
<add name="TextFileListener" />
<remove name="Default" />
</listeners>
</source>

</sources>
<sharedListeners>
<!--<add name="ConsoleListener" type="XXX.Manufacturing.Utilities.Diagnostics.ColorConsoleTraceListener,XXX.Manufacturing.Utilities" />-->
<add name ="TextFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextFile.log" />
<add name="MetabaseListener" type="XXX.Manufacturing.Utilities.Diagnostics.MetabaseTraceListener,XXX.Metabase.Proxies" />
</sharedListeners>
<switches>
<add name="MetabaseSwitch" value="Information" />
<add name="DefaultSwitch" value="Verbose" />
<add name="TextFileSwitch" value="Verbose"/>
</switches>
</system.diagnostics>

我是否错过了连接事物的关键步骤?如果我绕过 log4net 并仅创建一个新的跟踪源,它将记录到我的源。

最佳答案

我添加了对 XmlConfigurator.Configure() 的调用并打开了内部日志记录。我看到 log4net 正在记录日志,但没有任何内容到达跟踪系统。在使用我的 app.config 一段时间后,我发现一个有效的配置,最显着的变化似乎是放弃了 Systems.Diagnostics 配置中的源并确保设置了 log4net level 属性。工作配置部分:

<log4net>
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
<immediateFlush value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>

<root>
<level value="ALL"/>
<appender-ref ref="trace"/>
</root>
</log4net>

<system.diagnostics>
<trace autoflush="true" >
<listeners>
<add name="TextFileListener" />
<add name="MetabaseListener" />
</listeners>
</trace>
<sharedListeners>
<add name ="TextFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextFile.log" />
<add name="MetabaseListener" type="XXXX.Manufacturing.Utilities.Diagnostics.MetabaseTraceListener, XXXX.Metabase.Proxies" />
</sharedListeners>
</system.diagnostics>

关于Log4net traceappender 不记录任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3630197/

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