Spring.NET学习笔记三(log4net的配置)

来源:互联网 发布:du指令文件夹linux命令 编辑:程序博客网 时间:2024/05/17 08:14

 其实配置log4net是最简单的了,加入下面这些配置就好了:

1:在  <configSections>下加入一下节点的定义:


Code
  <configSections>
    <!-- log1:定义log4net节点和common节点组,以及该节点组下的logging节点  -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>
    <!-- spring的基本配置: 定义spring节点组和该节点组下的context节点和objects节点-->
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
    </sectionGroup>
  </configSections>
注意:加入的是log1的部分,spring部分是笔记一中存在的,这里帖出来是让人可以知道其上下文大概是些什么。
2:随便在configuration下找个地方加入下面代码就行:


Code
  <!-- log2:实现log1中所定义的节点组common--> 
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
        <!-- choices are INLINE, FILE, FILE-WATCH, EXTERNAL-->
        <!-- otherwise BasicConfigurer.Configure is used   -->
        <!-- log4net configuration file is specified with key configFile-->
        <arg key="configType" value="INLINE" />
        <!-- 0 to 6 (1 Debug 4 Error)-->
        <arg key="Level" value="4"/>
      </factoryAdapter>
    </logging>
  </common>
  <!-- log3:实现log1中所定义的节点log4net-->
  <log4net debug="false">
    <!--appender为不同日志输出的配置 -->
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="Logs/Application.log.txt"/>
      <param name="datePattern" value="MM-dd HH:mm"/>
      <param name="AppendToFile" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs/Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="MaxSizeRollBackups" value="10"/>
      <param name="MaximumFileSize" value="5MB"/>
      <param name="RollingStyle" value="Size"/>
      <param name="StaticLogFileName" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <!-- 告诉日志的所使用的等级以及所使用的日志输出配置 -->
    <!-- 下面是我自己改的,按日期生成日志的配置 -->
    <appender name="RollingLogFileAppender_Piggy" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs/ExceptionLog"/>
      <param name="AppendToFile" value="true"/>
      <param name="MaxSizeRollBackups" value="10"/>
      <param name="MaximumFileSize" value="5MB"/>
      <param name="RollingStyle" value="Date"/>
      <param name="StaticLogFileName" value="false"/>
      <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <root>
      <level value="ERROR"/>
      <appender-ref ref="RollingLogFileAppender_Piggy"/>
    </root>
  </log4net>


不多解释了,我也是半桶水而已。这里配置了ERROR,因此,在程序中使用下面的代码才能在日志中输出你想要的结果:
1:加入引用using log4net;
2:使用        ILog LOGGER = LogManager.GetLogger("Test");
               LOGGER.Error("测试信息");
配置成ERROR的话,它只会记录错误的信息,如果配置成DEBUG的话,会输出很多东西的,配置成什么,看需要罗。

 

原创粉丝点击