ASP.NET MVC学習のLog 4 Net構成(ログ記録)

9443 ワード

Log 4 Netコンフィギュレーションノート----
まず、log 4 net.を追加します.dllの参照.
Web.configファイルの下のコンフィギュレーションノードの下にLog 4 Netの構成情報を追加します.
 
 1 <!--Log4Net    -->
 2   <configSections>
 3     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 4   </configSections>
 5   <log4net>
 6     <!-- Define some output appenders -->
 7     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
 8       <file value="log.txt"/>
 9       <appendToFile value="true"/>
10       <maxSizeRollBackups value="10"/>
11       <maximumFileSize value="10240KB"/>
12       <rollingStyle value="Size"/>
13       <staticLogFileName value="true"/>
14       <layout type="log4net.Layout.PatternLayout">
15         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
16       </layout>
17     </appender>
18     <root>
19       <level value="DEBUG"/>
20       <appender-ref ref="RollingLogFileAppender"/>
21     </root>
22   </log4net>
23   <!--Log4Net      -->

 
 
クラスを追加cs:
 1 public class MyExceptionFilterAttribute:HandleErrorAttribute
 2 {
 3 
 4         public override void OnException(ExceptionContext filterContext)
 5     {
 6             base.OnException(filterContext);
 7 
 8             //
 9             LogHelper.WriteLog(filterContext.Exception.ToString());
10             //         
11             filterContext.HttpContext.Response.Redirect("/Shared/Error");
12      }
13 }

CommonクラスライブラリにLogHelperを追加します.cs、ログ書き込み関数を追加するには:
1 private static ILog log = LogManager.GetLogger("LogHelper");
2 public static void WriteLog(string errorMsg)
3 {
4             log.Error("
---------------- -------------------
"+errorMsg+"
---------------- -------------------
"); 5 }

GlobalでasaxファイルのApplication_Start()メソッドには、次のコードが追加されます.
1 // Log4Net       ,         
2 log4net.Config.XmlConfigurator.Configure();
3 GlobalFilters.Filters.Add(new MyExceptionFilterAttribute());

すべてが成功した!