1、下載和安裝註意每次安裝只是安裝到本項目中,換了另一個項目需要再次安裝和配置。我使用的是Visual Studio 2013 社區版,在tools中找到NuGet包管理。搜索log4net並點擊安裝。首先進行下載點擊確定安裝安裝完成當然,也可以用NuGet 的控制台來安裝百度搜索 net4log ... ...
1、下載和安裝
註意每次安裝只是安裝到本項目中,換了另一個項目需要再次安裝和配置。
我使用的是Visual Studio 2013 社區版,在tools中找到NuGet包管理。
搜索log4net並點擊安裝。
首先進行下載
點擊確定安裝
安裝完成
當然,也可以用NuGet 的控制台來安裝
百度搜索 net4log NuGet 或者直接打開下麵鏈接:
NuGet Gallery | log4net 2.0.8 https://www.nuget.org/packages/log4net/2.0.8
然後在控制台輸入安裝命令:Install-Package log4net -Version 2.0.8
2、配置
以winForm項目為例,需要配置App.config和AssemblyInfo.cs
2.1 配置 App.config
原來的app.config中帶了一個startup節點,把log4net的配置放到startup前面。
一共分兩部分:configSections 和 log4net。
以下配置可做參考:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <!--站點日誌配置部分--> <log4net> <root> <!--控制級別,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日誌將不會被記錄--> <!--如果沒有定義LEVEL的值,則預設為DEBUG--> <level value="ALL"/> <appender-ref ref="RollingFileAppender"/> </root> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <!--日誌文件名開頭--> <file value="Log\\TestLog4net.txt"/> <!--多線程時採用最小鎖定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--日期的格式,每天換一個文件記錄,如不設置則永遠只記錄一天的日誌,需設置--> <datePattern value="(yyyyMMdd)"/> <!--是否追加到文件,預設為true,通常無需設置--> <appendToFile value="true"/> <!--變換的形式為日期,這種情況下每天只有一個日誌--> <!--此時MaxSizeRollBackups和maximumFileSize的節點設置沒有意義--> <!--<rollingStyle value="Date"/>--> <!--變換的形式為日誌大小--> <!--這種情況下MaxSizeRollBackups和maximumFileSize的節點設置才有意義--> <RollingStyle value="Size"/> <!--每天記錄的日誌文件個數,與maximumFileSize配合使用--> <MaxSizeRollBackups value="10"/> <!--每個日誌文件的最大大小--> <!--可用的單位:KB|MB|GB--> <!--不要使用小數,否則會一直寫入當前日誌--> <maximumFileSize value="100MB"/> <!--日誌格式--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%t]%p: %m%n"/> </layout> </appender> </log4net> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
關於log4net配置詳細的說明可參考下麵文章:
非常完善的Log4net詳細說明 - CSDN博客 https://blog.csdn.net/binnygoal/article/details/79557746
2.2 配置AssemblyInfo.cs
只需要添加一行代碼:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)] //配置log4net
3、簡單應用
首先在文件開頭要using log4net;
然後在按鈕控制項的相應函數下添加loger的聲明語句並調用,需要註意的是,這個logger對象是局部的,函數退出後無需手動銷毀。不同函數內調用的logger會輸出到同一個txt文件中,即bin\debug\Log\TestLog4net.txt。
private void button1_Click(object sender, EventArgs e) { ILog m_log = LogManager.GetLogger("log"); m_log.Debug("這是一個Debug日誌" + 2); m_log.Info("這是一個Info日誌"); m_log.Warn("這是一個Warn日誌"); m_log.Error("這是一個Error日誌"); string temp1 = "helloworld"; m_log.Fatal(temp1); }
本篇僅介紹簡單應用,基本能夠滿足日常調試使用,高級功能後續再討論。
4、參考鏈接
(1)C# log4net 的配置 - ???笨小孩 - 博客園 https://www.cnblogs.com/weixiaowei/p/8253228.html
(2)“log4net.Core.LoggerManager”的類型初始值設定項引發異常 - CSDN博客 https://blog.csdn.net/eatonfang/article/details/40622945
(3)非常完善的Log4net詳細說明 - CSDN博客 https://blog.csdn.net/binnygoal/article/details/79557746