Java日誌工具

JDK自帶日誌工具(JDK1.4以後提供)java

java.util.logging包spring

日誌級別:all→finest→finer→fine→config→info→warning→server→offsql

用法:public static Logger log = Logger.getLogger(LogJDKTest.class.toString());  apache

          log.setLevel(); log.fine()api

log4jbash

log4j支持XML文件配置和Java Properties文件配置方式,區別是,XML文件更加靈活,能夠配置將不一樣級別的日誌信息分別輸出到不一樣的文件中app

log4j配置文件log4j.properties工具

#INFO表示日誌級別,使用給定的級別中的一種;
#Console和File表示日誌輸出的對象,自定義;
log4j.rootLogger=INFO,Console,File

#配置控制檯輸出對象,日誌輸出格式可經過表達式自定義
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] %m%n

#配置日誌文件輸出對象
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n
log4j.appender.R.File=../log/log.log
#log4j.appender.R.MaxFileSize=5000KB
#log4j.appender.R.MaxBackupIndex=8

#配置其餘包中的日誌級別
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.org.springframework=DEBUG

日誌格式自定義spa

日誌分類debug

日誌按日期輸出到不一樣的日誌文件

slf4j日誌API

與log4j結合使用須要引入jar包

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.21</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.7.21</version>
</dependency>

用法:final  Logger logger  =  LoggerFactory.getLogger(YourClassName. class );

           logger.info();

commons-logging

spring依賴commons-logging

spring如何自動識別和使用log4j的

  • 1) 首先在classpath下尋找本身的配置文件commons-logging.properties,若是找到,則使用其中定義的Log實現類; 
  • 2) 若是找不到commons-logging.properties文件,則在查找是否已定義系統環境變量org.apache.commons.logging.Log,找到則使用其定義的Log實現類; 創建一個叫 :CATALINA_OPTS 的環境變量 給他的值 : - Dorg.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog - Dorg.apache.commons.logging.simplelog.defaultlog = warn 
  • 3) 不然,查看classpath中是否有Log4j的包,若是發現,則自動使用Log4j做爲日誌實現類; 
  • 4) 不然,使用JDK自身的日誌實現類(JDK1.4之後纔有日誌實現類); 
  • 5) 不然,使用commons-logging本身提供的一個簡單的日誌實現類SimpleLog;

用法:private   static  Log log  =  LogFactory.getLog(YouClassName. class );  

          log.debug( " 111 " );  

相關文章
相關標籤/搜索