您好,登錄后才能下訂單哦!
這篇文章主要介紹“log4net的使用方法”,在日常操作中,相信很多人在log4net的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”log4net的使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
使用log4net打印日志很方便,以前我都是自己寫日志功能,把錯誤信息寫入到指定文件,使用log4net就省略了這些工作,挺方便的。
使用log4net需要在.config文件中進行配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!--log4net配置節點-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<log4net debug="false">
<!--普通日志配置-->
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\MyWebLog\LogInfo\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n日志時間:%d %n日志級別:%-5p%n日志內容:%m%n" />
</layout>
</appender>
<!--異常信息配置-->
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\MyWebLog\DebugError\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n異常時間:%d %n異常級別:%-5p%n異常內容:%m%n" />
</layout>
</appender>
<!--錯誤日志配置-->
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\MyWebLog\LogError\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n錯誤時間:%d %n錯誤級別:%-5p%n錯誤內容:%m%n" />
</layout>
</appender>
<!--致命錯誤配置-->
<appender name="FatalAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\MyWebLog\LogFatal\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n致命錯誤時間:%d %n致命錯誤級別:%-5p%n致命錯誤內容:%m%n" />
</layout>
</appender>
<!--警告信息配置-->
<appender name="WarnAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\MyWebLog\LogWarn\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n警告時間:%d %n警告級別:%-5p%n警告內容:%m%n" />
</layout>
</appender>
<!--普通日志-->
<logger name="LogInfo">
<level value="Info" />
<appender-ref ref="InfoAppender" />
</logger>
<!--異常信息-->
<logger name="LogDebug">
<level value="Debug" />
<appender-ref ref="DebugAppender" />
</logger>
<!--錯誤日志-->
<logger name="LogError">
<level value="Error" />
<appender-ref ref="ErrorAppender" />
</logger>
<!--致命錯誤-->
<logger name="LogFatal">
<level value="Fatal" />
<appender-ref ref="FatalAppender" />
</logger>
<!--警告信息-->
<logger name="LogWarn">
<level value="Warn" />
<appender-ref ref="WarnAppender" />
</logger>
</log4net>
</configuration>
配置文件可以使用項目中默認的配置文件,也可以新建.config。
1.使用默認的配置文件
AssemblyInfo.cs中添加[assembly: log4net.Config.XmlConfigurator()],系統在運行時尋找去默認的配置文件中查找log4net的配置節點
寫一個幫助類,使用單例模式創建日志對象
/// <summary>
/// log4net幫助類
/// </summary>
public class LogHelper
{
private static ILog logInfo = null;//普通日志
private static ILog logDebug = null;//異常信息
private static ILog logError = null;//錯誤日志
private static ILog logFatal = null;//致命錯誤
private static ILog logWarn = null;//警告信息
private LogHelper() { }
/// <summary>
/// 普通日志
/// </summary>
/// <returns></returns>
public static ILog GetLogInfo()
{
if(logInfo == null)
{
logInfo = LogManager.GetLogger("LogInfo");
}
return logInfo;
}
/// <summary>
/// 異常信息
/// </summary>
/// <returns></returns>
public static ILog GetLogDebug()
{
if (logDebug == null)
{
logDebug = LogManager.GetLogger("LogDebug");
}
return logDebug;
}
/// <summary>
/// 錯誤日志
/// </summary>
/// <returns></returns>
public static ILog GetLogError()
{
if (logError == null)
{
logError = LogManager.GetLogger("LogError");
}
return logError;
}
/// <summary>
/// 致命錯誤
/// </summary>
/// <returns></returns>
public static ILog GetLogFatal()
{
if (logFatal == null)
{
logFatal = LogManager.GetLogger("LogFatal");
}
return logFatal;
}
/// <summary>
/// 警告信息
/// </summary>
/// <returns></returns>
public static ILog GetLogWarn()
{
if (logWarn == null)
{
logWarn = LogManager.GetLogger("LogWarn");
}
return logWarn;
}
}
調用:
LogHelper.GetLogInfo().Info("輸出信息");
LogHelper.GetLogError().Error("",new Exception());
2.使用新創建的配置文件
public static readonly ILog logInfo = LogManager.GetLogger("LogInfo");//普通日志
public static readonly ILog logDebug = LogManager.GetLogger("LogDebug");//異常信息
public static readonly ILog logError = LogManager.GetLogger("LogError");//錯誤日志
public static readonly ILog logFatal = LogManager.GetLogger("LogFatal");//致命錯誤
public static readonly ILog logWarn = LogManager.GetLogger("LogWarn");//警告信息
手動查找路徑下的配置文件,進行讀取,添加一下代碼
/// <summary>
/// 加載log4net的日志配置文件
/// </summary>
/// <param name="configFilePath">日志配置文件的完整路徑</param>
public LogHelper(string configFilePath)
{
if (string.IsNullOrWhiteSpace(configFilePath) || !File.Exists(configFilePath))
{
throw new ArgumentNullException("日志配置文件不存在");
}
XmlConfigurator.Configure(new FileInfo(configFilePath));
}
調用:
LogHelper.logInfo.Info("輸出信息");
LogHelper.logError.Error("輸出信息", new Exception());
到此,關于“log4net的使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。