Exception catch ,Using Log4Net save exception message to a file.
Posted on 2007-08-14 18:05 Kejames 阅读(319) 评论(0) 收藏 举报
Default.aspx.cs
Global.asax
web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms"/>
</system.web>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Log4Net.log"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
<logger name="File">
<level value="Debug"/>
<appender-ref ref="LogFileAppender"/>
</logger>
</log4net>
</configuration>
<param name="File" value="Log4Net.log"/>
~~~~~~~~~ Log filename
When exception raise will create a log file (Log4Net.log).
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
log4net.ILog logger = log4net.LogManager.GetLogger("File");
4
logger.Info("測試!此文字將寫入Log4Net.log");
5
6
throw new Exception("Err");
7
//故意throw new Exception,將會觸發Global.asax中Application_Error方法
8
//將Exception.Message()寫入Log4Net.log檔案中
9
}
protected void Page_Load(object sender, EventArgs e)2
{3
log4net.ILog logger = log4net.LogManager.GetLogger("File");4
logger.Info("測試!此文字將寫入Log4Net.log");5

6
throw new Exception("Err");7
//故意throw new Exception,將會觸發Global.asax中Application_Error方法8
//將Exception.Message()寫入Log4Net.log檔案中9
}Global.asax
1
void Application_Error(object sender, EventArgs e)
2
{
3
Exception ex = HttpContext.Current.Server.GetLastError();
4
string ErrPage = Request.Url.ToString();
5
StringBuilder errorMessage = new StringBuilder();
6
string brFlag = "===============================<br />\n";
7
8
if ( ex != null )
9
{
10
while ( ex != null )
11
{
12
errorMessage.Append("<strong>Date</strong><br />" + ex.Data + "<br /><br />");
13
errorMessage.Append("<strong>Message</strong><br />" + ex.Message + "<br /><br />");
14
errorMessage.Append("<strong>Source</strong><br />" + ex.Source + "<br /><br />");
15
errorMessage.Append("<strong>Target site</strong><br />" + ex.TargetSite.ToString() + "<br /><br />");
16
errorMessage.Append("<strong>Stack trace</strong><br />" + ex.StackTrace + "<br /><br />");
17
errorMessage.Append("<strong>ToString()</strong><br />" + ex.ToString() + "<br /><br />");
18
errorMessage.Append(brFlag);
19
ex = ex.InnerException;
20
}
21
}
22
23
log4net.ILog logger = log4net.LogManager.GetLogger("File");
24
logger.Info(errorMessage);
25
}
void Application_Error(object sender, EventArgs e) 2
{3
Exception ex = HttpContext.Current.Server.GetLastError();4
string ErrPage = Request.Url.ToString();5
StringBuilder errorMessage = new StringBuilder();6
string brFlag = "===============================<br />\n";7
8
if ( ex != null )9
{10
while ( ex != null )11
{12
errorMessage.Append("<strong>Date</strong><br />" + ex.Data + "<br /><br />");13
errorMessage.Append("<strong>Message</strong><br />" + ex.Message + "<br /><br />");14
errorMessage.Append("<strong>Source</strong><br />" + ex.Source + "<br /><br />");15
errorMessage.Append("<strong>Target site</strong><br />" + ex.TargetSite.ToString() + "<br /><br />");16
errorMessage.Append("<strong>Stack trace</strong><br />" + ex.StackTrace + "<br /><br />");17
errorMessage.Append("<strong>ToString()</strong><br />" + ex.ToString() + "<br /><br />");18
errorMessage.Append(brFlag);19
ex = ex.InnerException;20
}21
}22

23
log4net.ILog logger = log4net.LogManager.GetLogger("File");24
logger.Info(errorMessage);25
}web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms"/>
</system.web>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Log4Net.log"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
<logger name="File">
<level value="Debug"/>
<appender-ref ref="LogFileAppender"/>
</logger>
</log4net>
</configuration>
~~~~~~~~~ Log filename
When exception raise will create a log file (Log4Net.log).

浙公网安备 33010602011771号