kejames 學習筆記本

這裡是Kejames的筆記本,歡迎各位網友給予指教,謝謝。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Exception catch ,Using Log4Net save exception message to a file.

Posted on 2007-08-14 18:05  Kejames  阅读(319)  评论(0)    收藏  举报
Default.aspx.cs
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    }

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    }

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).