天天看点

Log4net在类库中的用法

app.config应当放置在解决方案的根目录下。具体流程如下:

第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 

第二步:需要配置相关的配置文件App.config或Web.config,顾名思义普通应用的配置文件

 为App.config,asp.net的配置文件为Web.config。有关log的配置如下:

 <configuration>

   <configSections>

       <!-- log4net的定义 -->

         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

   </configSections>

   <log4net>

  <!-- Console部分log输出格式的设定 -->

         <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

             <layout type="log4net.Layout.PatternLayout">

                 <conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />

             </layout>

         </appender>

  <!-- 日志文件部分log输出格式的设定 -->

         <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

             <file value="具体的log文件路径名" />

             <appendToFile value="true" />

             <maxSizeRollBackups value="10" />

             <maximumFileSize value="1MB" />

             <rollingStyle value="Size" />

             <staticLogFileName value="true" />

                 <header value="[Header]
" />

                 <footer value="[Footer]
" />

                 <ConversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />

  <!-- Setup the root category, add the appenders and set the default level -->

         <root>

             <level value="ALL" />

             <appender-ref ref="ConsoleAppender" />

             <appender-ref ref="RollingLogFileAppender" />

         </root>

     </log4net>

 </configuration>

第三步:项目的AssemblyInfo.cs里面加上[assembly: log4net.Config.XmlConfigurator()],这样项目工程和log4net就

 建立了关联。【其中app.config应当放在解决方案的根目录下!】

第四步:在程序中写入日志 

以下例子是先实例化Ilog:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

然后在Application_Error方法中写自定义消息: 

protected void Application_Error(Object sender, EventArgs e) 

log.Info("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n<BR>错误地址:"+ Request.Url, 

Server.GetLastError()); 

}