新建一个log4net.config配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
<!--按日期分割日志文件 一天一个-->
<appender name="LogFileAppenderByDate" type="log4net.Appender.RollingFileAppender" >
<!--是否覆盖,默认是追加true-->
<param name="AppendToFile" value="true" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
<!--保存路径-->
<param name="File" value="log/" />
<!--文件名称-->
<param name="DatePattern" value="yyyy/yyyyMM/yyyyMMdd'.txt'" />
<!--当StaticLogFileName为false时,File的是文件夹路径(相对站点根目录),为true时,应该写入文本文件相对站点根目录的相对路径-->
<param name="StaticLogFileName" value="false" />
<!--当RollingStyle为Date时,DatePattern可为文件名的生成提供依据-->
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %level %F %L行 -- %m%n" />
</layout>
</appender>
<root>
<!--优先级别设置-->
<!--OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL -->
<level value="DEBUG" />
<!--启用按日期分割-->
<appender-ref ref="LogFileAppenderByDate" />
</root>
</log4net>
如果是WinForm程序,在Program.cs的Main函数中指定配置文件的路径,进行初始化:
string strConfig = AppDomain.CurrentDomain.BaseDirectory+"xmlconfig/log4net.config";
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(strConfig));
如果是Web程序,在Global.asax的Application_Start函数中指定配置文件的路径,进行初始化:
string strConfig = Server.MapPath("~")+"/xmlconfig/log4net.config";
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(strConfig));
实例化一个全局的Log对象,就可以记录日志了:
ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//记录一般信息
log.Info("info");