当前位置:  开发笔记 > 编程语言 > 正文

防止Log4Net写入所有日志文件

如何解决《防止Log4Net写入所有日志文件》经验,为你挑选了1个好方法。

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

private static readonly ILog _logger = LogManager.GetLogger(typeof(EmployeeImportService));

但是当这个服务运行并记录时,它会写入两个日志文件.


    
      
      
      
        
      
    
    
      
      
      
        
      
    

    
      
      
      
    

如何配置它以便每个服务都写入自己的日志文件?我读到配置中的logger标签有一个additivity属性可以解决这个问题,但我的配置中没有logger元素.



1> stuartd..:

您可以拥有两个单独的记录器,并定义每个记录器将在配置中使用哪些appender:您必须声明additivity=false或者记录器从根记录器继承appender.

所以,用虚构的名字:


  
  
  



    



    

然后在您的服务类中,您将获得适当的记录器:

// General log - EmployeeImportService
ILog logger = LogManager.GetLogger(typeof(EmployeeImportService));

// Log overtime - EmployeeOvertimeService
ILog logger = LogManager.GetLogger(typeof(EmployeeOvertimeService));

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有