log4j 詳細配置實例

一,maven引入jar包

<!-- 日誌文件管理包 -->
<!-- log4j start -->
  <dependency>
      <groupId>org.slf4j</groupId>  
      <artifactId>slf4j-api</artifactId>  
      <version>1.6.6</version>  
  </dependency>  
  <dependency>  
      <groupId>org.slf4j</groupId>  
      <artifactId>slf4j-log4j12</artifactId>  
      <version>1.6.6</version>  
    </dependency> 
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
    </dependency>
  <!-- log4j end -->

二,使用:

import org.apache.log4j.Logger;html

private final static Logger logger = Logger.getLogger(Test.class);apache

三,詳細配置:

root日誌

log4j.rootLogger = DEBUG, stdout, debug, info , warn, errorapi

#控制檯日誌
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%napp

保存Debug信息到單獨文件

log4j.appender.debug = org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.File = C:\logs\log4j\debug.log
log4j.appender.debug.Append = true
###只輸出DEBUG級別以上的日誌!!!
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.layout = org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.debug.DatePattern = '.'yyyy-MM-dd-HH-mm
###只輸出DEBUG級別的日誌!!!
log4j.appender.debug.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.debug.filter.infoFilter.LevelMin=DEBUG
log4j.appender.debug.filter.infoFilter.LevelMax=DEBUGmaven

保存Info信息到單獨文件

log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = C:\logs\log4j\info.log
log4j.appender.info.Append = true
###只輸出INFO級別以上的日誌!!!
log4j.appender.info.Threshold = INFO
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.info.DatePattern = '.'yyyy-MM-dd-HH-mm
###只輸出INFO級別的日誌!!!
log4j.appender.info.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.info.filter.infoFilter.LevelMin=INFO
log4j.appender.info.filter.infoFilter.LevelMax=INFOide

保存Warn信息到單獨文件

log4j.appender.warn = org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.File = C:\logs\log4j\warn.log
log4j.appender.warn.Append = true
###只輸出WARN級別以上的日誌!!!
log4j.appender.warn.Threshold = WARN
log4j.appender.warn.layout = org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.warn.DatePattern = '.'yyyy-MM-dd-HH-mm
###只輸出WARN級別的日誌!!!
log4j.appender.warn.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.warn.filter.infoFilter.LevelMin=WARN
log4j.appender.warn.filter.infoFilter.LevelMax=WARNdebug

保存異常信息到單獨文件

log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = C:\logs\log4j\error.log
log4j.appender.error.Append = true
###只輸出ERROR級別以上的日誌!!!
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.error.DatePattern = '.'yyyy-MM-dd-HH-mm
###只輸出ERROR級別的日誌!!!
log4j.appender.error.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.error.filter.infoFilter.LevelMin=ERROR
log4j.appender.error.filter.infoFilter.LevelMax=ERROR日誌

子日誌.在指定類中專用,必須指定包類名

###指定日誌名調用:private static Logger log1=Logger.getLogger("com.zjw.main.TestLogSon");
###指定包類名調用:private static Logger log1=Logger.getLogger(TestLogSon.class);
log4j.logger.com.zjw.main.TestLogSon=INFO,son,stdout
log4j.appender.son = org.apache.log4j.DailyRollingFileAppender
log4j.appender.son.File = C:\logs\log4j\son\TestLogSon.log
log4j.appender.son.Append = true
###只輸出INFO級別以上的日誌!!!
log4j.appender.son.Threshold = INFO
###不在root日誌中輸出,必須指定子日誌全名
log4j.additivity.com.zjw.main.TestLogSon=false
log4j.appender.son.layout = org.apache.log4j.PatternLayout
log4j.appender.son.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.son.DatePattern = '.'yyyy-MM-dd-HH-mmcode

子日誌.使用指定日誌打印

###指定日誌名調用:private static Logger log1=Logger.getLogger("log1");
log4j.logger.log1=INFO,son1,stdout
log4j.appender.son1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.son1.File = C:\logs\log4j\son1\son1.log
log4j.appender.son1.Append = true
###只輸出INFO級別以上的日誌!!!
log4j.appender.son1.Threshold = INFO
###不在root日誌中輸出,必須指定子日誌全名
log4j.additivity.log1=false
log4j.appender.son1.layout = org.apache.log4j.PatternLayout
log4j.appender.son1.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.son1.DatePattern = '.'yyyy-MM-dd-HH-mmhtm

子日誌.在指定目錄中使用

###在指定目錄中正常調用:private static Logger log1=Logger.getLogger(Test.class);
log4j.logger.com.zjw.main.test1=INFO,son2,stdout
log4j.appender.son2 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.son2.File = C:\logs\log4j\son2\son2.log
log4j.appender.son2.Append = true
###只輸出INFO級別以上的日誌!!!
log4j.appender.son2.Threshold = INFO
###不在root日誌中輸出,必須指定子日誌全名
log4j.additivity.com.zjw.main.test1=false
log4j.appender.son2.layout = org.apache.log4j.PatternLayout
log4j.appender.son2.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %c:%L %m%n
log4j.appender.son2.DatePattern = '.'yyyy-MM-dd-HH-mm

###參考log4j配置詳解【http://www.javashuo.com/article/p-vmwninhj-gg.html

相關文章
相關標籤/搜索