C# log4net使用案例詳解
這邊先介紹簡(jiǎn)單的使用:在控制臺(tái)輸出和寫入文件
首先添加log4net的nuget包
然后在app.config中添加配置項(xiàng)==configSections只能有一個(gè),且是configuration的首個(gè)節(jié)點(diǎn)
<?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>
這部分代碼也可以單獨(dú)放在一個(gè)配置文件中,起名log4net.config,我們把這個(gè)文件和app.config放在同一層
接著在AssemblyInfo.cs下添加特性
//配置文件在app.config中 [assembly: log4net.Config.XmlConfigurator(Watch = true)] //配置文件在log4net.config中 //[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch = true)]
static void Main(string[] args)
{
log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");//獲取一個(gè)日志記錄器
//配置文件在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));
//絕對(duì)路徑
//log4net.Config.XmlConfigurator.Configure(newSystem.IO.FileInfo(@"E:/DEMO/Log4NetDemo/emoTest/log4net.config"));
Thread.CurrentThread.Name = "main";
log.Debug("初始化連接開始");
log.Warn("測(cè)試");
log.Info(DateTime.Now.ToString() + ": login success");
Console.ReadKey();
}
到此這篇關(guān)于C# log4net使用案例詳解的文章就介紹到這了,更多相關(guān)Java log4net使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 獲取當(dāng)前時(shí)間及實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能【推薦】
這篇文章主要介紹了Java 獲取當(dāng)前時(shí)間及實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能 ,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
Spring?Boot最經(jīng)典的20道面試題你都會(huì)了嗎
Spring Boot是現(xiàn)代化的Java應(yīng)用程序開發(fā)框架,具有高度的靈活性和可擴(kuò)展性,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot最經(jīng)典的20道面試題,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Java?Stream如何將List分組成Map或LinkedHashMap
這篇文章主要給大家介紹了關(guān)于Java?Stream如何將List分組成Map或LinkedHashMap的相關(guān)資料,stream流是Java8的新特性,極大簡(jiǎn)化了集合的處理操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
SpringBoot整合RabbitMQ實(shí)現(xiàn)六種工作模式的示例
這篇文章主要介紹了SpringBoot整合RabbitMQ實(shí)現(xiàn)六種工作模式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Spring-Bean創(chuàng)建對(duì)象的步驟方式詳解
在本篇文章里小編給大家分享的是關(guān)于Spring-Bean創(chuàng)建對(duì)象的步驟方式詳解內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下。2020-02-02
Java中管理資源的引用隊(duì)列相關(guān)原理解析
這篇文章主要介紹了Java中管理資源的引用隊(duì)列相關(guān)原理解析,涉及到Java的垃圾回收機(jī)制方面的知識(shí),需要的朋友可以參考下2015-12-12
簡(jiǎn)單了解java標(biāo)識(shí)符的作用和命名規(guī)則
這篇文章主要介紹了簡(jiǎn)單了解java標(biāo)識(shí)符的作用和命名規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

