Spring Boot 揭秘与实战(三) 日志框架篇 - 如何快速集成日志系统

Java 有不少日志系统,例如,Java Util Logging, Log4J, Log4J2, Logback 等。Spring Boot 也提供了不一样的选项,好比日志框架能够用 logback 或 log4j 等。
原文地址:Spring Boot 揭秘与实战(三) 日志框架篇 - 如何快速集成日志系统
博客地址:blog.720ui.com/javascript

默认的日志框架 logback

例如,maven 依赖中添加了 spring-boot-starter-logging。java

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>复制代码

那么, Spring Boot 应用将自动使用 logback 做为应用日志框架, Spring Boot 启动的时候,由 org.springframework.boot.logging.Logging.Logging-Application-Listener 根据状况初始化并使用。git

值得注意的是,默认状况下,Spring Boot 使用 logback 做为应用日志框架。由于 spring-boot-starter 其中包含了 spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 logback。github

日志级别

默认状况下,Spring Boot 配置 ERROR, WARN, INFO 三种日志级别。若是须要 Debug 级别的日志。在 src/main/resources/application.properties 中配置数据源信息。web

debug=true复制代码

此外,配置 logging.level.* 来具体输出哪些包的日志级别。spring

例如springboot

logging.level.root=INFO
logging.level.org.springframework.web=DEBUG复制代码

日志文件

默认状况下, Spring Boot 日志只会输出到控制台,并不会写入到日志文件,所以,对于正式环境的应用,咱们须要经过在 application.properites 文件中配置 logging.file 文件名称和 logging.path 文件路径,将日志输出到日志文件中。微信

logging.path = /var/tmp
logging.file = xxx.log
logging.level.root = info复制代码

若是只配置 logging.path,在 /var/tmp文件夹生成一个日志文件为 spring.log。若是只配置 logging.file,会在项目的当前路径下生成一个 xxx.log 日志文件。app

值得注意的是,日志文件会在 10MB 大小的时候被截断,产生新的日志文件。框架

经常使用的日志框架 log4j

若是,咱们但愿使用 log4j 或者 log4j2,咱们能够采用相似的方式将它们对应的依赖模块加到 Maven 依赖中。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>复制代码

或者

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>复制代码

log4j 依赖模块加到 Maven 依赖中后,在 src/main/resources 目录下加入 log4j-spring.properties 配置文件。Spring Boot 官方推荐优先使用带有 –spring 的文件名做为你的日志配置, 例如 log4j-spring.properties,固然使用 log4j.properties 也是支持的。

如今,咱们就可使用 log4j 日志进行配置使用。log4j 配置细节就不展开讲解了,对于更多log4j的用法,能够参考相关文献。

源代码

相关示例完整代码: springboot-action

(完)

更多精彩文章,尽在「服务端思惟」微信公众号!