zoukankan      html  css  js  c++  java
  • Spring Boot 揭秘与实战(三) 日志框架篇

    文章目录

    1. 1. 默认的日志框架 logback2. 常用的日志框架 log4j
      1. 1.1. 日志级别
      2. 1.2. 日志文件
    2. 3. 源代码

    Java 有很多日志系统,例如,Java Util Logging, Log4J, Log4J2, Logback 等。Spring Boot 也提供了不同的选项,比如日志框架可以用 logback 或 log4j 等。

    默认的日志框架 logback

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

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-logging</artifactId>
    4. </dependency>

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

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

    日志级别

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

    1. debug=true

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

    例如

    1. logging.level.root=INFO
    2. logging.level.org.springframework.web=DEBUG

    日志文件

    默认情况下, Spring Boot 日志只会输出到控制台,并不会写入到日志文件,因此,对于正式环境的应用,我们需要通过在 application.properites 文件中配置 logging.file 文件名称和 logging.path 文件路径,将日志输出到日志文件中。

    1. logging.path = /var/tmp
    2. logging.file = xxx.log
    3. logging.level.root = info

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

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

    常用的日志框架 log4j

    如果,我们希望使用 log4j 或者 log4j2,我们可以采用类似的方式将它们对应的依赖模块加到 Maven 依赖中。

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-log4j</artifactId>
    4. </dependency>

    或者

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-log4j2</artifactId>
    4. </dependency>

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

    现在,我们就可以使用 log4j 日志进行配置使用。log4j 配置细节就不展开讲解了,对于更多log4j的用法,可以参考相关文献。

    源代码

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

    (完)

    微信公众号
  • 相关阅读:
    生成函数初步
    Lg 8月赛(构造+交互)
    wqs 二分学习笔记
    FastAPI 学习之路(十六)Form表单
    线性代数入门
    Oracle-PDB拔插
    MySQL-audit审计插件
    MySQL-用户与权限管理
    MySQL-存储引擎
    MySQL-逻辑结构
  • 原文地址:https://www.cnblogs.com/cnblog-long/p/7243128.html
Copyright © 2011-2022 走看看