1. 程式人生 > >C# 使用Log4Net記錄日誌

C# 使用Log4Net記錄日誌

配置檔案

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!--Add Log4Net Section-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="log\\log.log" />
      <footer value="by wqq" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
        <conversionPattern value="記錄時間:%date 執行緒ID:[%thread] 日誌級別:檔案:所在行%l  %c   -5level 出錯類:%logger property:[%property{NDC}] - 錯誤描述:%message%newline" />

        <!--Time:%d      %Info:%message%newline-->
        <!-- %date [%thread] %-5level %logger - %message%newline-->
      </layout>
    </appender>
    <logger name="LogTrace">
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </logger>
  </log4net>
</configuration>

 

 

[assembly: log4net.Config.XmlConfiguratorAttribute(ConfigFile = "log4net.config", Watch = true)]
 public  class LogHelper
    {
        private static readonly ILog _logger = LogManager.GetLogger("LogTrace");

        public static void Info(string message)
        {
            _logger.Info(message);
        }

        public static void Debug(string message)
        {
            _logger.Debug(message);
        }
%m(message):輸出的日誌訊息,如ILog.Debug(…)輸出的一條訊息 
%n(new line):換行 
%d(datetime):輸出當前語句執行的時刻 
%r(run time):輸出程式從執行到執行到當前語句時消耗的毫秒數 
%t(thread id):當前語句所在的執行緒ID 
%p(priority): 日誌的當前優先級別,即DEBUG、INFO、WARN…等 
%c(class):當前日誌物件的名稱,例如: 
%f(file):輸出語句所在的檔名。 
%l(line):輸出語句所在的行號。 
%數字:表示該項的最小長度,如果不夠,則用空格填充,如“%-5level”表示level的最小寬度是5個字元,如果實際長度不夠5個字元則以空格填充。