log4net按級別寫到不一樣文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  
  <log4net>
    <root>
      <!-- 控制級別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
      <!-- 好比定義級別爲INFO,則INFO級別向下的級別,好比DEBUG日誌將不會被記錄 -->
      <!-- 若是沒有定義LEVEL的值,則缺省爲DEBUG -->
      <level value="ALL" />
      <!-- 按日期切分日誌文件,並將日期做爲日誌文件的名字 -->
      <appender-ref ref="InfoFileAppender"></appender-ref>
      <appender-ref ref="WarnFileAppender"></appender-ref>
      <appender-ref ref="ErrorFileAppender"></appender-ref>
      <appender-ref ref="DebugFileAppender"></appender-ref>
      <!--<appender-ref ref="ConsoleAppender"></appender-ref>-->
    </root>

    <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--<rootDir value="/logs" />-->
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="INFO" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <!-- 日誌文件存放位置,能夠爲絕對路徑也能夠爲相對路徑 -->
      <File value="Logs\Info\" />
      <!-- 將日誌信息追加到已有的日誌文件中-->
      <appendToFile value="true" />
      <!-- 指定按日期切分日誌文件 -->
      <rollingStyle value="Date" />
      <!-- 日誌文件的命名規則 -->
      <datePattern value="yyyyMMdd.LOG" />
      <!-- 是否只寫到一個文件中,當將日期做爲日誌文件的名字時,必須將staticLogFileName的值設置爲false -->
      <staticLogFileName value="false" />
      <!-- 最小鎖定模式,以容許多個進程能夠寫入同一個文件 -->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->
      <maxSizeRollBackups value="10" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
        <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
      </layout>
    </appender>

    <appender name="WarnFileAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="WARN" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <!-- 日誌文件存放位置,能夠爲絕對路徑也能夠爲相對路徑 -->
      <File value="Logs\Warn\" />
      <!-- 將日誌信息追加到已有的日誌文件中-->
      <appendToFile value="true" />
      <!-- 指定按日期切分日誌文件 -->
      <rollingStyle value="Date" />
      <!-- 日誌文件的命名規則 -->
      <datePattern value="yyyyMMdd.LOG" />
      <!-- 是否只寫到一個文件中,當將日期做爲日誌文件的名字時,必須將staticLogFileName的值設置爲false -->
      <staticLogFileName value="false" />
      <!-- 最小鎖定模式,以容許多個進程能夠寫入同一個文件 -->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->
      <maxSizeRollBackups value="10" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
        <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
      </layout>
    </appender>

    <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <!-- 日誌文件存放位置,能夠爲絕對路徑也能夠爲相對路徑 -->
      <File value="Logs\Error\" />
      <!-- 將日誌信息追加到已有的日誌文件中-->
      <appendToFile value="true" />
      <!-- 指定按日期切分日誌文件 -->
      <rollingStyle value="Date" />
      <!-- 日誌文件的命名規則 -->
      <datePattern value="yyyyMMdd.LOG" />
      <!-- 是否只寫到一個文件中,當將日期做爲日誌文件的名字時,必須將staticLogFileName的值設置爲false -->
      <staticLogFileName value="false" />
      <!-- 最小鎖定模式,以容許多個進程能夠寫入同一個文件 -->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->
      <maxSizeRollBackups value="10" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
        <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
      </layout>
    </appender>

    <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="Debug" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <!-- 日誌文件存放位置,能夠爲絕對路徑也能夠爲相對路徑 -->
      <File value="Logs\Debug\" />
      <!-- 將日誌信息追加到已有的日誌文件中-->
      <appendToFile value="true" />
      <!-- 指定按日期切分日誌文件 -->
      <rollingStyle value="Date" />
      <!-- 日誌文件的命名規則 -->
      <datePattern value="yyyyMMdd.LOG" />
      <!-- 是否只寫到一個文件中,當將日期做爲日誌文件的名字時,必須將staticLogFileName的值設置爲false -->
      <staticLogFileName value="false" />
      <!-- 最小鎖定模式,以容許多個進程能夠寫入同一個文件 -->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->
      <maxSizeRollBackups value="10" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
        <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
      </layout>
    </appender>
    
    <!--<appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>-->
    
  </log4net>
</configuration>
相關文章
相關標籤/搜索