不须要任何配置,只须要添加
spring-boot-starter-web
依赖,SpringBoot
已经为咱们集成日志框架,默认使用logback
;html在项目根目录使用
maven
命令mvn dependency:tree
,查看依赖结果以下java
建立主函数,运行后,能够看到,
SpringBoot
默认日志格式以下git
格式解析:(默认采用颜色日志)github
ERROR、WARN、INFO、DEBUG、TRACE
ID
---
来标识日志开始部分Logger
名:一般使用源代码的类名
SpringBoot 2.0.3
默认开启颜色日志,判断终端是否支持ANSI
,支持则打印颜色日志,也能够在application.yml
文件修改spring.output.ansi.enabled
来修改默认值web
ALWAYS
: 启用 ANSI
颜色的输出。DETECT
: 尝试检测 ANSI
着色功能是否可用(默认值)。NEVER
: 禁用 ANSI
颜色的输出。
%clr
修改颜色。好比想使文本变为黄色 %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}。目前支持的颜色有(blue、cyan、faint、green、magenta、red、yellow)spring
SpringBoot
默认为咱们输出的日志级别为INFO、WARN、ERROR
,如须要输出更多日志的时候,能够经过如下方式开启app
Chaper1-1-2
提到的配置debug: true
,该配置只对嵌入式容器、Spring、Hibernate生效本身项目须要手动配置日志级别,配置规则:
logging.level.<logger-name>=<level>
,或者,logging.level.<目录>=<level>
框架
logging: level: # org.springframework.web目录下日志级别debug org.springframework.web: debug # com.mkeeper目录下日志级别info com.mkeeper: info # com.mkeeper.controller.off目录下日志关闭 com.mkeeper.controller.off: off
logging.pattern.console
: 定义输出到控制台的格式(不支持JDK Logger)logging.pattern.file
: 定义输出到文件的格式(不支持JDK Logger)
SpringBoot
默认只输出控制台,不输出文件;经过下面配置添加文件日志输出maven
logging.file
: 将日志写入到指定的 文件 中,默认为相对路径,能够设置成绝对路径logging.path
: 将名为 spring.log
写入到指定的文件夹中logging.file.max-size
: 限制日志文件大小,日志文件在达到规定大小
时进行切割,产生一个新的日志文件logging.file.max-history
: 限制日志保留天数,到期自动删除@Slf4j
若是不想每次都写
private final Logger logger = LoggerFactory.getLogger(XXX.class);
能够用注解@Slf4j
,该注解依赖lombok
,slf4j
(SpringBoot已经自动配置,不用手动添加)函数
@Slf4j @RestController public class LogController { //若是不想每次都写private final Logger logger = LoggerFactory.getLogger(XXX.class); 能够用注解@Slf4j //private final Logger logger = LoggerFactory.getLogger(LogController.class) @GetMapping("/log") public void log(){ log.debug(this.getClass().getSimpleName() + ": debug"); log.info(this.getClass().getSimpleName() + ": info"); log.warn(this.getClass().getSimpleName() + ": warn"); log.error(this.getClass().getSimpleName() + ": error"); } }
推荐阅读官方文档了解更多日志配置细节,有任何建议,欢迎留言探讨,本文源码。
欢迎关注博主公众号:Java十分钟