日志作為快速定位程式問題的主要手段,日志幾乎是所有程式都必須擁有的一部分,下面我們就看下NET CORE環境下怎么使用log4net:
1.下載log4net.dll和Microsoft.Extensions.Logging.Log4Net.AspNetCore.dll檔案 ;
2.創建自己的專案
3.在自己專案下的參考log4net.dll和Microsoft.Extensions.Logging.Log4Net.AspNetCore.dll檔案 ;
Nuget引入log4net/ Microsoft.Extensions.Logging.Log4Net.AspNetCore:如下
滑鼠右擊“依賴性”--“管理NuGet程式包”,然后選擇“瀏覽”輸入“LogNet”搜索,安裝log4net/ Microsoft.Extensions.Logging.Log4Net.AspNetCore如下圖:

4.添加log4net.Config組態檔,下面貼出配置資訊,大家直接復制log4net.Config檔案內容就可以了:
貼的代碼
<?xml version="1.0" encoding="utf-8"?> <log4net> <!-- 日志檔案配置--> <root> <level value=https://www.cnblogs.com/sxw117886/p/"ALL"/> <!--按檔案存盤日志--> <appender-ref ref="DebugAppender"/> <appender-ref ref="InfoAppender"/> <appender-ref ref="ErrorAppender"/> </root> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value=https://www.cnblogs.com/sxw117886/p/".\\Logs\\Error\\"/> <!--日志記錄的存在路--> <param name="AppendToFile" value=https://www.cnblogs.com/sxw117886/p/"true"/> <!--為true就表示日志會附加到檔案,為false,則會重新創建一個新檔案--> <param name="MaxSizeRollBackups" value=https://www.cnblogs.com/sxw117886/p/"100"/> <!--創建最大檔案數--> <param name="maximumFileSize" value=https://www.cnblogs.com/sxw117886/p/"10MB" /> <!--檔案大小--> <param name="maximumFileSize" value=https://www.cnblogs.com/sxw117886/p/"10MB"/> <!--是否只寫到一個檔案中--> <param name="StaticLogFileName" value=https://www.cnblogs.com/sxw117886/p/"false"/> <!--是否指定檔案名--> <param name="DatePattern" value=https://www.cnblogs.com/sxw117886/p/"yyyy-MM-dd".log""/> <!--創建新檔案的方式,可選為Size(按檔案大小),Date(按日期),Once(每啟動一次創建一個檔案),Composite(按日期及檔案大小),默認為Composite--> <param name="RollingStyle" value=https://www.cnblogs.com/sxw117886/p/"Composite"/> <layout type="log4net.Layout.PatternLayout"> <!--輸出內容布局--> <param name="ConversionPattern" value=https://www.cnblogs.com/sxw117886/p/"%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> <!--method會影響性能--> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value=https://www.cnblogs.com/sxw117886/p/"ERROR"/> <param name="LevelMax" value=https://www.cnblogs.com/sxw117886/p/"ERROR"/> </filter> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value=https://www.cnblogs.com/sxw117886/p/".\\Logs\\Info\\"/> <param name="AppendToFile" value=https://www.cnblogs.com/sxw117886/p/"true"/> <param name="MaxSizeRollBackups" value=https://www.cnblogs.com/sxw117886/p/"100"/> <param name="maximumFileSize" value=https://www.cnblogs.com/sxw117886/p/"10MB" /> <param name="StaticLogFileName" value=https://www.cnblogs.com/sxw117886/p/"false"/> <param name="DatePattern" value=https://www.cnblogs.com/sxw117886/p/"yyyy-MM-dd".log""/> <param name="RollingStyle" value=https://www.cnblogs.com/sxw117886/p/"Composite"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value=https://www.cnblogs.com/sxw117886/p/"%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value=https://www.cnblogs.com/sxw117886/p/"INFO"/> <param name="LevelMax" value=https://www.cnblogs.com/sxw117886/p/"INFO"/> </filter> </appender> <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value=https://www.cnblogs.com/sxw117886/p/".\\Logs\\Debug\\"/> <param name="AppendToFile" value=https://www.cnblogs.com/sxw117886/p/"true"/> <param name="MaxSizeRollBackups" value=https://www.cnblogs.com/sxw117886/p/"100"/> <param name="maximumFileSize" value=https://www.cnblogs.com/sxw117886/p/"10MB" /> <param name="StaticLogFileName" value=https://www.cnblogs.com/sxw117886/p/"false"/> <param name="DatePattern" value=https://www.cnblogs.com/sxw117886/p/"yyyy-MM-dd".log""/> <param name="RollingStyle" value=https://www.cnblogs.com/sxw117886/p/"Composite"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value=https://www.cnblogs.com/sxw117886/p/"%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value=https://www.cnblogs.com/sxw117886/p/"DEBUG"/> <param name="LevelMax" value=https://www.cnblogs.com/sxw117886/p/"DEBUG"/> </filter> </appender> </log4net>View Code
注意:生成的時候如果根目錄下沒有log4net.Config,需要log4net.Config右鍵屬性,選擇“復制到輸出目錄”修改為“始終復制”,如下圖:

5.在AssemblyInfo.cs檔案下添加配置代碼:
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging(logging => { logging.AddFilter("System", LogLevel.Warning); logging.AddFilter("Microsoft", LogLevel.Warning); logging.AddLog4Net(); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
其中紅色部分是添加的代碼,
logging.AddLog4Net():添加應用Log4Net日志:
如果想過濾系統日志等可以添加如下兩句代碼:
logging.AddFilter("System", LogLevel.Warning);
logging.AddFilter("Micrisoft", LogLevel.Warning);
6.在需要打日志的檔案里參考using log4net,然后添加Ilog變數就可以使用日志功能,如下圖:

下面是打出的日志檔案:

至此NET CORE下參考log4net檔案我想你已經都會用了,希望對你有幫助,
最后最后最后,重要的事情說三遍,來著是客,如果您覺得好就推薦或評論下,覺得不好希望能得到您的建議,繼續改善.

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/35131.html
標籤:.NET Core
