首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止Log4Net写入所有日志文件

防止Log4Net写入所有日志文件
EN

Stack Overflow用户
提问于 2015-12-03 14:26:29
回答 1查看 1.8K关注 0票数 3

我使用log4net进行了以下配置。问题是,我的C#代码中的记录器现在正在将错误记录到两个日志文件中。在同一个windows服务中有两个不同的服务类。我在一个服务中使用以下行初始化记录器:

代码语言:javascript
复制
private static readonly ILog _logger = LogManager.GetLogger(typeof(EmployeeImportService));

但是,当该服务运行并记录时,它将写入两个日志文件。

代码语言:javascript
复制
<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="C:\Temp\HRFiles\Sharp\Log\Log.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>
    <appender name="OvertimeLogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="C:\Temp\HRFiles\YTD\Log\Log.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>

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

我如何配置它,以便每个服务都写入它自己的日志文件?我看到配置中的记录器标记有一个附加属性,它解决了这个问题,但是我的配置中没有记录器元素。

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 15:11:46

是的我犯了个错误。但它还是安静下来了。您必须在每个追加节点中创建过滤器。

代码语言:javascript
复制
<filter type="log4net.Filter.LoggerMatchFilter">
  <!-- allows this sub-namespace to be logged... -->
  <loggerToMatch value="EmployeeImportService" />
</filter>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34068527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档