SpringBoot入门(五)-日志管理
来源:互联网 发布:docker mysql 持久化 编辑:程序博客网 时间:2024/06/07 15:43
Spring Boot内部日志系统使用的是Commons Logging,但开放底层的日志实现。默认为会Java Util Logging, Log4J, Log4J2
和Logback提供配置。每种情况下都会预先配置使用控制台输出,也可以使用可选的文件输出。
默认情况下,如果你使用'Starter POMs',那么就会使用Logback记录日志。为了确保那些使用Java Util Logging, Commons
Logging, Log4J或SLF4J的依赖库能够正常工作,正确的Logback路由也被包含进来。
注:如果上面的列表看起来令人困惑,不要担心,Java有很多可用的日志框架。通常,你不需要改变日志依赖,Spring Boot
默认的就能很好的工作。
日志格式
Spring Boot默认的日志输出格式如下:
输出的节点(items)如下:
1. 日期和时间- 精确到毫秒,且易于排序。
2. 日志级别- ERROR, WARN, INFO, DEBUG 或 TRACE。
3. Process ID。
4. 一个用于区分实际日志信息开头的---分隔符。
5. 线程名- 包括在方括号中(控制台输出可能会被截断)。
6. 日志名 - 通常是源class的类名(缩写)。
7. 日志信息。
控制台输出
默认的日志配置会在写日志消息时将它们回显到控制台。默认,ERROR, WARN和INFO级别的消息会被记录。可以在启动应
用时,通过--debug 标识开启控制台的DEBUG级别日志记录。
如果你的终端支持ANSI,为了增加可读性将会使用彩色的日志输出。你可以设置spring.output.ansi.enabled 为一个支持的值来覆盖自动检测。
文件输出
默认情况下,Spring Boot只会将日志记录到控制台而不会写进日志文件。如果除了输出到控制台你还想写入到日志文件,那
你需要设置logging.file 或 logging.path 属性(例如在你的application.properties中)。
下表显示如何组合使用logging.* :
日志文件每达到10M就会被轮换(分割),和控制台一样,默认记录ERROR, WARN和INFO级别的信息。
日志级别
所有支持的日志系统在Spring的Environment(例如在application.properties里)都有通
过'logging.level.*=LEVEL'('LEVEL'是TRACE, DEBUG, INFO, WARN, ERROR, FATAL,OFF中的一个)设置的日志级别。
示例:application.properties
自定义日志配置
通过将适当的库添加到classpath,可以激活各种日志系统。然后在classpath的根目录(root)或通过Spring Environment
的 logging.config 属性指定的位置提供一个合适的配置文件来达到进一步的定制(注意由于日志是在ApplicationContext被创
建之前初始化的,所以不可能在Spring的@Configuration文件中,通过@PropertySources控制日志。系统属性和平常的
Spring Boot外部配置文件能正常工作)。
根据你的日志系统,下面的文件会被加载:
为了帮助定制一些其他的属性,从Spring的Envrionment转换到系统属性:
所有支持的日志系统在解析它们的配置文件时都能查询系统属性。具体可以参考spring-boot.jar中的默认配置。
注:在运行可执行的jar时,Java Util Logging有类加载问题,我们建议你尽可能避免使用它。
- SpringBoot入门(五)-日志管理
- Springboot入门日志管理和缓存支持
- SpringBoot日志管理
- Springboot 整合日志管理
- SpringBoot的日志管理
- SpringBoot的日志管理
- SpringBoot的日志管理
- SpringBoot的日志管理
- SpringBoot的日志管理
- Springboot日志管理
- 【SpringBoot教程五】:SpringBoot+LogBack日志配置
- SpringBoot入门(四)日志输出
- SpringBoot入门(五)数据库操作入门
- SpringBoot 学习记录(五): aop记录日志
- 一步一步学springboot (四)日志管理
- springboot【17】日志管理之logback
- springboot【18】日志管理之log4j
- SpringBoot入门系列:第三篇 日志输出
- 移动端搭建Http Server(七)—— 实现wifi传图
- SpringBoot入门(三)-GroupId、arti…
- SpringBoot入门(四)-自定义banner
- 【机房合作】——导出Excel表格
- Type mismatch: cannot&…
- SpringBoot入门(五)-日志管理
- SpringBoot入门(六)-Spring D…
- SpringBoot入门(七)-初识WebSocket
- SpringBoot入门(八)-MAVEN的多环境…
- SpringBoot入门(九)-SpringMVC的In…
- SpringBoot入门(十)-SpringEL和资…
- 数字三角形
- C语言入门(二)---七种控制结构
- [Unity热更新]tolua# & LuaFramework(一):基础