本文将簡單介紹在.NET 6中使用log4net的方法,具體見下文範例。
1.首先建立一個ASP.NET Core空項目
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLwgDNwIzNzkTMtgDO4UzM2ADNxIjMxETMyAjMtADO4MTM38CXxETMyAjMvwFM4gzMxczLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
2.通過Nuget包管理器安裝下面兩個包
3.在項目根目錄下建立log4net的配置檔案log4net.config,并将其設定為始終複制。
log4net配置參數此處不多贅述,隻針對日志的輸出格式參數conversionPattern配置做簡要說明。
4.在Program中使用log4net輸出自定義日志内容
5.将項目運作起來,即可發現日志檔案已生成
6.擴充使用:使用簡單工廠模式IOC注入到自定義類中使用
建立一個ITestLog4Net接口檔案,并為其定義一個Log方法。
并且建立一個TestLog4Net的自定義類,繼承于ITestLog4Net,并實作該Log方法。
在Program中注入我們的自定義類TestLog4Net
使用方法
或者
其中,使用下面這種寫法,将會收到一個編譯警告資訊。
warning ASP0000: Calling 'BuildServiceProvider' from application code results in an additional copy of singleton services being created. Consider alternatives such as dependency injecting services as parameters to 'Configure'.
推薦使用上面的寫法,百度之後,得到的答案是:不要通過調用BuildServiceProvider()這個方法應該隻被 Host 調用一次。重複的服務提供者可能會導緻一些意想不到的錯誤。如果有哪位大佬知道具體原因,請告知一下,謝謝!
Tips:代碼中的感歎号!表示該對象不會為空,一定要確定該對象不會為空才能這樣寫,這是C#10中的新特性。
本文來自部落格園,作者:搖曳de風筝,轉載請注明原文連結:https://www.cnblogs.com/pinzi/p/15588766.html