首页 > 代码库 > Log4Net配置 转

Log4Net配置 转

http://www.cnblogs.com/qingyi/archive/2010/01/14/1647915.html

 

用一些东西老是忘记,先记在这啦。。

 

<!--log4net相关说明
一.配置
1.关联配置文件 在AssemblyInfo.cs中配置
 添加[assembly:log4net.Config.DOMConfigurator(ConfigFile="log4net.config", ConfigFileExtension="ext",Watch=true/false)]
 说明:
 ConfigFile-==指的是log4Net的配置文件的路径,相对应用程序的根路径
 ext==如果我们对被编译程序的程序集使用了不同的文件扩展名,那么我们需要定义这个属性,缺省的,程序集的配置文件扩展名为”config”。
 Watch (Boolean属性): log4net框架用这个属性来确定是否需要在运行时监视文件的改变。如果这个属性为true,
      那么FileSystemWatcher将会被用来监视文件的改变,重命名,删除等事件。
 注:其中:ConfigFile和ConfigFileExtension属性不能同时使用,ConfigFile指出了配置文件的名字,例如,ConfigFile=”Config.txt” ConfigFileExtension=”txt”,则配置文件就应该是”test.exe.txt” ;
log4net.config 文件介绍-->
 <log4net>  <!--框架在配置文件里要查找的唯一标识是<log4net>标签 -->
 <root>     <!--根日志定义-->
 <level value="http://www.mamicode.com/WARN" /> <!--
 定义级别 缺省为DEBUG (值从高到低可为:OFF--拒绝所有 FATAL ERROR WARN INFO DEBUG ALL--允许所有)
 当你调用相应的日志方法时,框架会检查相应的Boolean属性,以决定该方法能不能执行。 
 -->
  <appender-ref ref="LogFileAppender" />  <!--定义输出介质-->
  <appender-ref ref="ConsoleAppender" />
    </root>
    <logger name="testApp.Logging" additivity="false">
 <!--
 预定义了一个具体日志对象的设置,然后通过调用LogManager.GetLogger(“testAPP.Logging”)
 additivity 是否继承root
 -->
      <level value="http://www.mamicode.com/DEBUG"/> 
    </logger>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > <!--type:定义输出介质为文本文件-->
      <param name="File" value="http://www.mamicode.com/log-file.txt" /> <!--File文件路径 相对于根路径-->
      <param name="AppendToFile" value="http://www.mamicode.com/true" /> <!--追加到文件还是覆盖文件-->
      <layout type="log4net.Layout.PatternLayout"> <!--向用户显示最后经过格式化的输出信息-->
        <param name="Header" value="http://www.mamicode.com/[Header]"/> <!--头-->
        <param name="Footer" value="http://www.mamicode.com/[Footer]"/> <!--脚注-->
        <param name="ConversionPattern"  value="http://www.mamicode.com/%d [%t] %-5p %c [%x] - %m%n"  />
  <!--
   %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息 
   %n(new line):换行 
   %d(datetime):输出当前语句运行的时刻 
   %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 
   %t(thread id):当前语句所在的线程ID 
   %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 
   %c(class):当前日志对象的名称,例如:
   %L:输出语句所在的行号 
   %F:输出语句所在的文件名 
   %-数字:表示该项的最小长度,如果不够,则用空格填充
  -->  
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter"> <!--应用到Appender对象的过滤器-->
        <param name="LevelMin" value="http://www.mamicode.com/DEBUG" /> 
        <param name="LevelMax" value="http://www.mamicode.com/WARN" /> 
      </filter>
    </appender> 
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout"> 
        <param name="ConversionPattern"  value="http://www.mamicode.com/%d [%t] %-5p %c [%x] - %m%n" /> 
      </layout> 
    </appender> 
  </log4net>

<!--2.在web.config中配置
 <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net的dll名" /> 
  </configSections>
  
  创建或获取日志对象 
  Log4net.ILog log = Log4net.LogManager.GetLogger("MyLogger");
  log.Info("message");
  -->