• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

log4net日志在C# dll文件中的使用方法

C# OceanCoder 2022-05-05 2041 次浏览 0个评论

如果想在dll文件中使用日志记录功能,仅按照下面的方法是不行的

log4net在WinForm和Window Service等.net程序下的使用

如果按照上面的方法,只是在配置AssemblyInfo.cs文件中配置

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

会发现当dll被调用时,是无法输出日志的。


解决办法:

请在dll被初始化,或者被调用的方法所属类的构造函数中加入以下代码

if (!log4net.LogManager.GetRepository().Configured)
{    
 
  var configFileDirectory = (new DirectoryInfo(TraceExtension.AssemblyDirectory)).Parent; 
  var configFile = new FileInfo(configFileDirectory.FullName + "\\log4net.config");   
 if (!configFile.Exists)
   
 {        
    throw new FileLoadException(String.Format("The configuration file {0} does not exist", configFile));
   
 }

    
  log4net.Config.XmlConfigurator.Configure(configFile);
}
把log4net.config文件路径重新配置一遍即可!


已有 2041 位网友参与,快来吐槽:

发表评论