当前位置:编程学习 > asp >>

log4net配置使用说明

此文档是我在“大道至简”的基础上修改而成,再次表示谢谢!
(一)log4net的标准配置文档示例
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionname="log4net"
             type="log4net.Config.Log4NetConfigurationSectionHandler" />
  </configSections>
  <log4net>
    <root>
      <levelvalue="WARN" />
      <appender-refref="LogFileAppender" />
      <appender-refref="ConsoleAppender" />
    </root>
    <loggername="testApp.Logging">
      <levelvalue="DEBUG"/>
    </logger>
    <appendername="LogFileAppender"  type="log4net.Appender.FileAppender" >
      <paramname="File"value="log-file.txt" />
      <paramname="AppendToFile"value="true" />
      <layouttype="log4net.Layout.PatternLayout">
        <paramname="Header"value="[Header] "/>
        <paramname="Footer"value="[Footer] "/>
        <paramname="ConversionPattern"  value="%d [%t] %-5p %c[%x]  - %m%n" />
      </layout>
      <filtertype="log4net.Filter.LevelRangeFilter">
        <paramname="LevelMin"value="DEBUG" />
        <paramname="LevelMax"value="WARN" />
      </filter>
    </appender>
    <appendername="ConsoleAppender"   type="log4net.Appender.ConsoleAppender" >
      <layouttype="log4net.Layout.PatternLayout">
        <paramname="ConversionPattern"  value="%d [%t] %-5p %c [%x] -%m%n" />
      </layout>
    </appender>
  </log4net>
</configuration>
(二)log4net配置文件与程序的关联
         log4net的配置可以放在应用程序的默认配置文件中(app.config或web.config),也可以在自己指定的配置文件中。log4net框架中是使用log4net.Config.XmlConfigurator在程序集的级别上定义配置文件。
      (1)winform程序中,如果配置在app.config文件中,配置文件的结构如示例。这时找到当前项目的Assemblyinfo.cs文件添加
          [assembly:log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch= true)]  app.config文件属性设置保持默认。
      (2)winform程序中,如果配置在自定义文件中如“Config.txt”中。这时找到当前项目的Assemblyinfo.cs文件添加
          [assembly:log4net.Config.XmlConfigurator(ConfigFile="config.txt", Watch =true)]   Config.txt文件的属性要设置为复制。就是要输出到输出目录。
         这个时候配置可以省略示例模版中<configSection>节点里的<section>节点。
     
         ConfigFile:指出了我们的配置文件的路径及文件名,包括扩展名。
         ConfigFileExtension:如果我们对被编译程序的程序集使用了不同的文件扩展名,那么我们需要定义这个属性,缺省的,程序集的配置文件扩展名为”config”。
           Watch (Boolean属性): log4net框架用这个属性来确定是否需要在运行时监视文件的改变。如果这个属性为true,那么FileSystemWatcher将会被用来监视文件的改变,重命名,删除等事件。
         其中:ConfigFile和ConfigFileExtension属性不能同时使用,ConfigFile指出了配置文件的名字,例如,ConfigFile=”Config.txt”
ConfigFileExtension则是指明了和可执行程序集同名的配置文件的扩展名,例如,应用程序的名称是”test.exe”,ConfigFileExtension=”txt”,则配置文件就应该是”test.exe.txt” ;
      也可以在程序代码中用DOMConfigurator类打开配置文件。类的构造函数需要一个FileInfo对象作参数,以指出要打开的配置文件名。这个方法和前面在程序集里设置属性打开一个配置文件的效果是一样的。
         log4net.Config.DOMConfigurator.Configure(newFileInfo("TestLogger.Exe.Config"));
         DOMConfigurator 类还有一个方法ConfigureAndWatch(..), 用来配置框架并检测文件的变化。
(二)节点分析
         在配置章节中,定义section节点。节点名称为:须为log4net,且大小写敏感。
         <configSections>
                    <sectionname="log4net"
                               type="log4net.Config.Log4NetConfigurationSectionHandler" />
         </configSections>
(三)log4net节点说明
       (1)节点支持的属性,debug,update,threshold三个属性
         debug 可选,取值是true或false,默认是false。设置为true,开启log4net的内部调试。
         update 可选,取值是Merge(合并)或Overwrite(覆盖),默认值是Merge。设置为Overwrite,在提交配置的时候会重置已经配置过的库。 
         threshold 可选,取值是repository(库)中注册的level,默认值是ALL。
      (2)支持子元素
       appender  0或多个
         logger 0或多个
         renderer 0或多个
         root 最多一个
         param 0或多个
 
(四)root节点说明 
      (1)根logger,所有其它logger都默认继承它。root元素没有属性。
      (2)支持的子元素 www.zzzyk.com
                   appender-ref 0个或多个,要引用的appender的名字。
·                  level 最多一个。只有在这个级别或之上的事件才会被记录。
·                  param 0个或多个,设置一些参数。
               &nb
补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,