配置Logback输出日志信息

在进行web开发时,需要进行日志的打印和记录,Logback就是Java常用的一个日志输出工具。首先在maven中引入该项目依赖

    
      ch.qos.logback
      logback-classic
      1.2.3
    

配置文件

在resources文件夹下创建logback.xml,logback会自动在该目录下加载该配置文件,在该文件中对打印日志的级别、形式、保存路径等进行配置。

如下所示,第一个标签代表每60秒对配置文件进行一次扫描,当发生改变时会自动重载而不需要重启服务器。debug="false"代表不输出logback本身的调试信息。

接着通过标签定义了一些全局变量,供之后的标签调用。第一个log.level代表日志的级别,由低到高为trace

接下来设置控制台输出的appender,在其中指定输入的格式

之后对DEBUG级别的日志进行设置,标签指定将debug具体输出到哪个目录下。指定日志每天将所有的debug日志打包压缩为.gz文件。指定debug输出格式,过滤器,符合其level的ACCEPT,不符合则DENY。同理配置INFO、ERROR级别的输出日志。

最后在标签中将上面定义的DEBUG、INFO、ERROR三个级别的日志注册到logger,在其标签属性level指定日志等级为我们之前定义的参数${log.level}=debug,这样只输出debug等级以上的内容。

最后在标签中注册控制台consoleAppender




    
    
    
    


    
        
            ${log.pattern}
        
    

    
        ${log.filePath}/debug.log
        
            ${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
            ${log.maxHistory}
        
        
            ${log.pattern}
        
        
            DEBUG
            ACCEPT
            DENY
        
    

    
        ${log.filePath}/info.log
        
            ${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
            ${log.maxHistory}
        
        
            ${log.pattern}
        
        
            INFO
            ACCEPT
            DENY
        
    

    
        ${log.filePath}/error.log
        
            ${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
            ${log.maxHistory}
        
        
            ${log.pattern}
        
        
            ERROR
            ACCEPT
            DENY
        
    

    
        
        
        
    
    
        
    

使用logback输出日志

比如我们要在Controller中进行日志输出,则首先需要通过LoggerFactory创建一个Logger对象,这两个类都是来自org.slf4j接口,该接口用于提供日志输出的相关操作规范,logback实现了该接口,之后调用info()、debug()、error()分别输出各自级别的日志信息

package com.tory.shop.controller.superadmin;

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

import java.util.List;

@Controller
@RequestMapping("/area")        
public class AreaController {
    Logger logger= LoggerFactory.getLogger(AreaController.class);   //获取日志输入对象logger
    @Autowired
    private AreaService areaService;

    @RequestMapping("/list")    
    @ResponseBody               
    public List getList(){                            //调用方法输出不同级别的日志信息
        logger.info("==========开始执行AreaController.getList()==========");
        logger.debug("输出Debug调试信息...");
        logger.error("输出报错信息...");
        return areaService.getAreaList();
    }
}

最后在CATALINA_BASE目录下找到/logs/webapps/debug.log文件如下,类似地在该文件夹下还有info.log、error.log文件

你可能感兴趣的:(#,Java,Web商城开发)