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在类上面的注解形式在测试
写个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
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