Spring-LogBack笔记(1) - 基础使用

Spring-LogBack笔记(1) - 基础使用

Spring内部集成了LogBack的日志组件

日志等级分为6种

public enum LogLevel {

	TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

}

OFF是关闭日志

其他6种从低到高分别是

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

FATAL这个比较特殊,log的方法里面没有这个方法,指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了

在spring里面可以通过配置文件对每个类或者包的日志等级进行控制,低于配置等级的日志将不会执行

在spring里面使用日志打印也很简单,主要有两种方式

一种是通过LogFactory

   private Logger logger = LoggerFactory.getLogger(LogController.class);


    private void print(String key) {
        logger.trace("key: {}", key);
        logger.debug("key: {}", key);
        logger.info("key: {}", key);
        logger.warn("key: {}", key);
        logger.error("key: {}", key);
        System.out.println("key: {}" + key);
    }

另外一种通过@Slf4j在类上面的注解可以直接使用,这种需要先引入Lombok的包

private void print(String key) {
        log.trace("key: {}", key);
        log.debug("key: {}", key);
        log.info("key: {}", key);
        log.warn("key: {}", key);
        log.error("key: {}", key);
        System.out.println("key: {}" + key);
    }

这里就使用@Slf4j在类上面的注解形式在测试

默认配置所有的日志等级都是info,日志等级配置不区分大小写

写个demo测试一下

@Slf4j
@RestController
@RequestMapping("/log")
public class LogController {

    private void print(String key) {
        log.trace("key: {}", key);
        log.debug("key: {}", key);
        log.info("key: {}", key);
        log.warn("key: {}", key);
        log.error("key: {}", key);
        System.out.println("key: {}" + key);
    }


    @GetMapping("/test")
    public String test(@RequestParam String key) {
        print(key);
        return key;
    }
}

输出打印

[http-nio-8801-exec-1] INFO  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] WARN  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

例如配置

logging:
  level:
    com:
      mt:
        demo:
          client:
            controller:
              LogController: error

输出打印

[http-nio-8801-exec-2] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
这种可以配置的方式在生产调试问题的时候还是比较方便的,例如在程序里打上debug的日志,需要调试的时候再动态开启
logging:
  level:
    com:
      mt:
        demo:
          client:
            controller:
              LogController: debug

输出打印

[http-nio-8801-exec-1] DEBUG com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] INFO  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] WARN  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

欢迎关注微信交流
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值