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 " );  

相关文章
相关标签/搜索