log4net 快速上手使用

时间:2021-09-17 13:14:42

*本随笔仅限快速上手,如需深入探究,可查阅其它博友。

一、下载log4net.dll并添加引用;

二、添加配置文件 log4net.xml ;

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
</root>
<!--记录所有的错误日志-->
<logger name="ErrorLog">
<level value="INFO" />
<appender-ref ref="ErrorLog" />
</logger>
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="Logs/Error/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="&quot;Log-&quot;yyyy-MM-dd&quot;.txt&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm} %m%n" />
<!--LogTime:%d-->
</layout>
</appender>
<logger name="MessageLog">
<level value="INFO" />
<appender-ref ref="MessageLog" />
</logger>
<appender name="MessageLog" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="Logs/Message/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="&quot;Log-&quot;yyyy-MM-dd&quot;.txt&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d %m%n" />
</layout>
</appender>
</log4net>
</configuration>

xml 有不明白的地方,请查阅相关资料,以上配置后产生的结果如下图

log4net 快速上手使用    log4net 快速上手使用     log4net 快速上手使用   log4net 快速上手使用

三、在项目的启动文件Main方法(web项目在global文件下的Application_Start)下添加

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.xml")));

或者

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("log4net.xml")));

四、使用:

ILog log_messgae = LogManager.GetLogger(SystemLog.MessageLog.ToString());//对应xml配置节点<logger name="MessageLog">
 ILog log_error = LogManager.GetLogger(SystemLog.ErrorLog.ToString());//对应xml配置节点 <logger name="ErrorLog">

log_error.Info(string.Format("{0}【获取名称】为空", str_temp));

log_messgae.Info(string.Format("{0}【分页数】为:{1}", url, count_page));

**************基本应用完成******************