C# 使用Log4Net記錄日誌
阿新 • • 發佈:2018-12-05
配置檔案
<?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個字元則以空格填充。