1、項目中添加一個配置文件Log4Net.config
<?xml version="1.0" encoding="UTF-8"?>
<log4net debug="false">
<!--按日期分割日志文件 一天一個-->
<appender name="LogFileAppenderByDate" type="log4net.Appender.RollingFileAppender" >
<!--是否續寫-->
<param name="AppendToFile" value="true" />
<!--最小鎖定模型以允許多個進程可以寫入同一個文件-->
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
<param name="StaticLogFileName" value="true" />
<param name="File" value="Log\\" />
<param name="DatePattern" value="yyyy-MM-dd.LOG" />
<param name="StaticLogFileName" value="false" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="發生時間:%d %n事件級別:%level %n相關類名:%c%n程序文件:%F 第%L行%n日志內容:%m%n-----------------------------------------%n%n" />
</layout>
</appender>
<!--按日志容量分割日志文件 10240KB一個-->
<appender name="LogFileAppenderBySize" type="log4net.Appender.RollingFileAppender" >
<!--是否續寫-->
<param name="AppendToFile" value="true" />
<!--最小鎖定模型以允許多個進程可以寫入同一個文件-->
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
<param name="StaticLogFileName" value="true" />
<!--按照文件的大小進行變換日志文件-->
<param name="RollingStyle" value="Size" />
<param name="File" value="Log\\log.txt" />
<!--單個文件最大數量 好像只有在 按Size分割時有效-->
<param name="MaximumFileSize" value="5000KB"/>
<!--保留的log文件數量 超過此數量後 自動刪除之前的 好像只有在 按Size分割時有效-->
<param name="MaxSizeRollBackups" value="500" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="發生時間:%d %n事件級別:%level %n相關類名:%c%n程序文件:%F 第%L行%n日志內容:%m%n-----------------------------------------%n%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<!--啟用按日期分割-->
<!--<appender-ref ref="LogFileAppenderByDate" />—>
<!--啟用按容量分割-->
<appender-ref ref="LogFileAppenderBySize" />
</root>
</log4net>
2、在AssemblyInfo.cs添加
[assembly: log4net.Config.DOMConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
3、在Global.asax中
protected void Application_Start(object sender, EventArgs e)
{
// 在應用程序啟動時運行的代碼
//配置log4net
log4net.Config.DOMConfigurator.Configure();
}
4、調用
public static readonly ILog Log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Log.Warn("出錯了!", ex);