1. 程式人生 > >log4net 基礎

log4net 基礎

ups color readline 線程 rollback val lar 日誌文件 ons

log4net:日誌輸出工具。

新建工程Log4NetDemo

App.config配置如下:

<?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="DEBUG"/> <appender-ref ref="RollingFileAppender"/> </root> <appender name="RollingFileAppender"
type="log4net.Appender.RollingFileAppender"> <!--日誌文件名開頭--> <file value="Log\Test.txt"/> <!--多線程時采用最小鎖定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--日期的格式,每天換一個文件記錄,如不設置則永遠只記錄一天的日誌,需設置--> <datePattern value
="yyyyMMdd-HH:mm:ss"/> <!--是否追加到文件,默認為true,通常無需設置--> <appendToFile value="true"/> <!--變換的形式為日期,這種情況下每天只有一個日誌--> <!--此時MaxSizeRollBackups和maximumFileSize的節點設置沒有意義--> <!--<rollingStyle value="Date"/>--> <!--變換的形式為日誌大小--> <!--這種情況下MaxSizeRollBackups和maximumFileSize的節點設置才有意義--> <RollingStyle value="Size"/> <!--每天記錄的日誌文件個數,與maximumFileSize配合使用--> <MaxSizeRollBackups value="10"/> <!--每個日誌文件的最大大小--> <!--可用的單位:KB|MB|GB--> <!--不要使用小數,否則會一直寫入當前日誌--> <maximumFileSize value="16KB"/> <!--日誌格式--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%t]%-5p %c - %m%n"/> </layout> </appender> </log4net> </configuration>

測試程序:

using System;
using System.Reflection;
using log4net;
using log4net.Config;

namespace Log4NetDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlConfigurator.Configure();
            ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            log.Debug("This is a Debug log.");
            log.Info("This is a Info log.");
            Console.ReadLine();
        }
    }
}

運行測試後會在Debug/Log目錄下生成Test.txt文件,

輸出內容:

2017-09-06 16:50:21,059 [9]INFO  Log4NetDemo.Program - This is a Info log.
2017-09-07 16:51:35,908 [10]DEBUG Log4NetDemo.Program - This is a Debug log.

完。

log4net 基礎