如何解决log4net TraceAppender重复打印logger名称的问题?
解决log4net TraceAppender在VS调试跟踪中重复输出Logger名称的问题
你当前的log4net配置同时使用了TraceAppender和RollingFileAppender,文件日志输出正常,但Visual Studio 2022的调试跟踪中会额外打印重复的Logger名称前缀(比如示例中的MyClass:),这是因为TraceAppender默认会将Logger名称作为Trace的分类(Category),而VS调试窗口会自动显示这个分类信息。
要去除这个重复的前缀,只需修改TraceAppender的配置,添加一个空的category节点即可:
<appender name="TraceAppender" type="log4net.Appender.TraceAppender"> <!-- 添加空的category节点,取消默认的Logger名称前缀 --> <category value="" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level %logger - %message%newline" /> </layout> </appender>
修改后,VS调试跟踪的输出就会和你定义的PatternLayout格式完全一致,不再出现额外的Logger名称前缀:
13:45:37:913 2023-07-05 13:45:37,831 DEBUG MyClass - .ctor
补充说明
如果需要自定义分类名称,也可以给category设置具体值(比如<category value="AppDebug" />),这样VS调试窗口会显示你指定的分类,而不是默认的Logger名称。
内容的提问来源于stack exchange,提问作者Daan Timmer
相关产品推荐
相关产品推荐

