logback的搭建与使用-maven项目

  1、在pom文件中添加log4j的maven依赖



	1.7.25
	1.2.3




	
	
		org.slf4j
		slf4j-api
		${slf4j.version}
	
	
		ch.qos.logback
		logback-core
		${logback.version}
	
	
		ch.qos.logback
		logback-classic
		${logback.version}
	
	

2、在当前项目的src/main/resources文件夹下,新增文件logback.xml,配置样例如下



    
    
    
    
        
            ${log.home}/default/common-default.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/error/common-error.log.%d{yyyyMMdd}
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
        
            ERROR
        
    
    
    
        
            ${log.home}/perf/common-perf.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/dao/common-dao.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/service/common-service.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/business/common-business.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/web/common-web.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/alarm/common-alarm.log.%d{yyyyMMdd}
            30
        
        
            %d [%t] %-5p %c{2} [%X{traceRootId}] - [%m]%n
        
    
    
    
        
            ${log.home}/trace/tracing.log.%d{yyyy-MM-dd-HH}.gz
            72
        
        
            %d - [%m]%n
        
    
    
    
    
    
        
        
        
    
        
        
        
        
    
     
        
        
        
    
     
        
        
        
    
     
        
        
        
    
    
    	
    	
    
   
    
        
        
        
    
    
    
        
        
        
    
    
    
    
    
    
    
    
        
        
    
    
    
        
        
    
 

3、如果是web项目,请在src\main\webapp\WEB-INF\web.xml文件的最上方配置logback监听器,如下



  logbackConfigLocation
  /WEB-INF/classes/logback.xml


  ch.qos.logback.ext.spring.web.LogbackConfigListener

4、最后,附上一段日志打印样例

package com.test.justTest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LogbackTest {
    /**
     * 日志:因logback.xml未配置此包下的日志,
* 所以会输入到默认日志文件:${log.home}/default/common-default.log.%d{yyyyMMdd} */ private static final Logger commonLogger = LoggerFactory.getLogger(LogbackTest.class); /** * 业务日志:打印至${log.home}/business/common-business.log.%d{yyyyMMdd}
* 查看app.properties得知${log.home}=/data/application/logs/myProject */ public static final Logger businessLogger = LoggerFactory.getLogger("businessLogger"); /** * 告警日志:打印至${log.home}/alarm/common-alarm.log.%d{yyyyMMdd}
* 查看app.properties得知${log.home}=/data/application/logs/myProject */ public static final Logger alarmLogger = LoggerFactory.getLogger("alarmLogger"); public static void main(String[] args) { System.out.printf("------LogbackTest-打印日志开始------"); printTestLog(commonLogger); printTestLog(businessLogger); printTestLog(alarmLogger); System.out.printf("------LogbackTest-打印日志结束------"); /** * 执行完上述代码请至相应文件夹下查看相应文件中的内容是否有打印 */ } /** * 打印日志 * @param logger 日志打印者 */ public static void printTestLog(Logger logger){ //debug级别的日志 logger.debug("this is a debug log ,logger={}",logger.getName()); //info级别的日志 logger.info("this is a info log,logger={}",logger.getName()); //warn级别的日志 logger.warn("this is a warn log,logger={}",logger.getName()); //error级别的日志 logger.error("this is a error log,logger={}",logger.getName(),new RuntimeException()); } }

你可能感兴趣的:(log)