添加log4net.config文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=1B44E1D426115821" />
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<!--根据log级别记录到不同的日志文件-->
<appender-ref ref="InfoLog" />
<appender-ref ref="WarnLog" />
<appender-ref ref="ErrorLog" />
</root>
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
<!--INFO、DEBUG级别的日志文件路径,根据自己的需要修改-->
<file value="Log\info.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
<securityContext type="log4net.Util.WindowsSecurityContext">
<credentials value="Process" />
</securityContext>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="INFO" />
</filter>
</appender>
<appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
<!--WARN级别的日志文件路径,根据自己的需要修改-->
<file value="Log\warn.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
<securityContext type="log4net.Util.WindowsSecurityContext">
<credentials value="Process" />
</securityContext>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="WARN" />
</filter>
</appender>
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<!--ERROR级别的日志文件路径,根据自己的需要修改-->
<file value="Log\error.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
<securityContext type="log4net.Util.WindowsSecurityContext">
<credentials value="Process" />
</securityContext>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender>
</log4net>
</configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
之后Global.asax里面添加
public class Global : System.Web.HttpApplication
{
public static readonly log4net.ILog logger = log4net.LogManager.GetLogger("ApplicationErrorLogger");
protected void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("~") + @"\log4net.config"));
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
var ex = Server.GetLastError();
logger.Error(ex);
Server.ClearError();
Response.Write("系统错误!" + ex.Message);
}
protected void Session_End(object sender, EventArgs e)
{
}
protected void Application_End(object sender, EventArgs e)
{
}
}