spring使用log4j打印日志

日志是记录运行状态的重要监控工具,这次我们介绍使用强大的log4j。首先引入log4j的jar。我们可以设置不同的级别,分别有FATAL,ERROR,INFO,DEBUG,ALL级别,可以根据需要选择。也可以把打印内容输出到对应的文件,或则是输出到不同的文件,common-log是一系列接口,具体实现类由log4j实现,Web加载log4j的配置文件默认名字为:log4j.properties,可以在web.xml配置监听:



    <context-param>
        <param-name>log4jConfigLocationparam-name>
        <param-value>classpath:log4j.propertiesparam-value>
    context-param>

    

    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListenerlistener-class>
    listener>

注意这个最好放在xml文件的最前面,因为需要初始化参数可以打印spring启动前期的日志,前面部分的日志内容看不到。

log4j.properties基础配置如下:

###配置全局打印级别###
log4j.rootCategory=INFO, stdout
log4j.rootLogger=DEBUG, stdout

### 输出位置 ###
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{ABSOLUTE} %5p - %m%n

### 这里设置不同的包名打印的级别 ### 
log4j.logger.org.springframework=DEBUG, stdout, spring
log4j.logger.org.apache.catalina=INFO
log4j.logger.org.apache.commons.digester.Digester=INFO
log4j.logger.org.apache.catalina.startup.TldConfig=INFO
log4j.logger.chb.test=DEBUG

如果是要打印到对应的文件:

log4j.rootLogger=DEBUG, stdout, FILE   //启动一个别名FILE

### 输出文件配置 ###
log4j.appender.FILE=org.apache.log4j.RollingFileAppender  
log4j.appender.FILE.Append=true  
log4j.appender.FILE.File=./logs/log4jtest.log  
log4j.appender.FILE.Threshold=INFO  
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n  
log4j.appender.FILE.MaxFileSize=10MB  
private static Logger log1 = Logger.getLogger(BaseController.class);
 //打印出的结果在对应文件下为
 2016-06-28 10:10:21 [ INFO] - com.songtaste.base.BaseController -BaseController.java(13) -this is test

我们还可以自己定义不同的logger,然后去打印不同的业务逻辑:

### spring为logger的名字 ###
log4j.logger.spring=INFO,s
log4j.appender.s=org.apache.log4j.RollingFileAppender  
log4j.appender.s.Append=true  
log4j.appender.s.File=./logs/spring.log
log4j.appender.s.Threshold=INFO  
log4j.appender.s.layout=org.apache.log4j.PatternLayout  
log4j.appender.s.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n  
log4j.appender.s.MaxFileSize=10MB  
private static Logger log2 = Logger.getLogger("spring");
// 打印到对应的文件为
2016-06-28 10:36:32 [ INFO] - spring -BaseController.java(17) -log2 ...info ...

你可能感兴趣的:(框架学习,spring,log4j)