C# log4net使用案例詳解
更新時間:2021年08月14日 14:17:01 作者:高調的小丑
這篇文章主要介紹了C# log4net使用案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
這邊先介紹簡單的使用:在控制臺輸出和寫入文件
首先添加log4net的nuget包
然后在app.config中添加配置項==configSections只能有一個,且是configuration的首個節(jié)點
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <log4net> <root> <level value="WARN" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root> <logger name="testApp.Logging"> <level value="DEBUG"/> </logger> <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > <param name="File" value="log_file.txt" /> <!--<param name="File" value="D:/log_file.txt" />--> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <!--<param name="Header" value="[Header] "/> <param name="Footer" value="[Footer] "/>--> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> </log4net> </configuration>
這部分代碼也可以單獨放在一個配置文件中,起名log4net.config,我們把這個文件和app.config放在同一層
接著在AssemblyInfo.cs下添加特性
//配置文件在app.config中 [assembly: log4net.Config.XmlConfigurator(Watch = true)] //配置文件在log4net.config中 //[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch = true)]
Watch=true監(jiān)視配置文件,當配置文件發(fā)生變化的時候,就會重新加載。
static void Main(string[] args) { log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");//獲取一個日志記錄器 //配置文件在app.config中 log4net.Config.XmlConfigurator.Configure(); //配置文件在log4net.config中 //string assemblyFilePath = Assembly.GetExecutingAssembly().Location; //string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath); //DirectoryInfo pathInfo = new DirectoryInfo(assemblyDirPath); //string configFilePath = pathInfo.Parent.Parent.FullName + "http://log4net.config"; //log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(configFilePath)); //絕對路徑 //log4net.Config.XmlConfigurator.Configure(newSystem.IO.FileInfo(@"E:/DEMO/Log4NetDemo/emoTest/log4net.config")); Thread.CurrentThread.Name = "main"; log.Debug("初始化連接開始"); log.Warn("測試"); log.Info(DateTime.Now.ToString() + ": login success"); Console.ReadKey(); }
到此這篇關于C# log4net使用案例詳解的文章就介紹到這了,更多相關Java log4net使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解關于eclipse中使用jdk15對應javafx15的配置問題總結
這篇文章主要介紹了詳解關于eclipse中使用jdk15對應javafx15的配置問題總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11HotSpot的Java對象模型之Oop-Klass模型詳解
這篇文章主要介紹了HotSpot的Java對象模型之Oop-Klass模型詳解,在JVM層面,不僅Java類是對象,Java 方法也是對象, 字節(jié)碼常量池也是對象,一切皆是對象,JVM使用不同的oop-klass模型來表示各種不同的對象,需要的朋友可以參考下2023-08-08劍指Offer之Java算法習題精講鏈表與數(shù)組專項訓練
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質的變化2022-03-03