Log4Net 發布到IIS 不寫日志問題


項目中 用到了 Log4Net 使用的是  

//為項目注冊Log4Net.config配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config",ConfigFileExtension = "config", Watch = true)]

這種方式配置 log4net 寫日志到數據庫。

但是項目發布到IIS不寫日志。

項目分別有 WEB項目(mvc),Core (類庫項目),Infrastructure(類庫,log4的實體映射在這里)

項目 web (使用上面提到的方式注冊 Log4Net.config配置文件 )對 在 mvc Filter 使用了 寫日志(開發調試環境沒為題)

但是 core 項目 有人實現了 寫日志公共方法,(但是此項目沒有 注冊  Log4Net.config配置文件),所有整個項目 最終發布不寫日志。

解決方法: 在 core 項目 的 AssemblyInfo.cs 添加 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config",ConfigFileExtension = "config", Watch = true)]

      整個項目正常寫日志。

總結:log4Net 的 配置文件應該注冊到 有具體調用的項目中才能生效。

   項目架構不要重復添加依賴,具體到 我遇到的這個項目,應該 把 core 項目的 寫日志 和 web 項目的 寫日志 分離到 單獨的項目 或者 都放在 web 項目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM