You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:47:18