天天看點

Asp.Net Core中簡單使用日志元件log4net

本文将簡單介紹在.NET 6中使用log4net的方法,具體見下文範例。

1.首先建立一個ASP.NET Core空項目

Asp.Net Core中簡單使用日志元件log4net

 2.通過Nuget包管理器安裝下面兩個包

 

Asp.Net Core中簡單使用日志元件log4net

 3.在項目根目錄下建立log4net的配置檔案log4net.config,并将其設定為始終複制。 

  log4net配置參數此處不多贅述,隻針對日志的輸出格式參數conversionPattern配置做簡要說明。

  

  4.在Program中使用log4net輸出自定義日志内容

  5.将項目運作起來,即可發現日志檔案已生成

Asp.Net Core中簡單使用日志元件log4net
Asp.Net Core中簡單使用日志元件log4net

  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'.

Asp.Net Core中簡單使用日志元件log4net

   推薦使用上面的寫法,百度之後,得到的答案是:不要通過調用BuildServiceProvider()這個方法應該隻被 Host 調用一次。重複的服務提供者可能會導緻一些意想不到的錯誤。如果有哪位大佬知道具體原因,請告知一下,謝謝!

Tips:代碼中的感歎号!表示該對象不會為空,一定要確定該對象不會為空才能這樣寫,這是C#10中的新特性。

本文來自部落格園,作者:搖曳de風筝,轉載請注明原文連結:https://www.cnblogs.com/pinzi/p/15588766.html

繼續閱讀