springboot2.6.2系列教程之日志-6

日志

Spring Boot 使用Commons Logging进行所有内部日志记录,但保持底层日志实现打开。为Java Util LoggingLog4J2Logback提供了默认配置。在每种情况下,记录器都预先配置为使用控制台输出,并且还提供可选的文件输出。

默认情况下,如果您使用“Starters”,则使用 Logback 进行日志记录。还包括适当的 Logback 路由,以确保使用 Java Util Logging、Commons Logging、Log4J 或 SLF4J 的依赖库都能正常工作。

日志格式

输出以下项目:

  • 日期和时间:毫秒精度,易于排序。
  • 日志级别:ERRORWARNINFODEBUG,或TRACE
  • 进程标识。
  • ---用于区分实际日志消息开始的分隔符。
  • 线程名称:括在方括号中(可能会被截断以用于控制台输出)。
  • 记录器名称:这通常是源类名称(通常缩写)。
  • 日志消息。

控制台输出

默认日志配置在写入时将消息回显到控制台。默认情况下,会记录ERROR-level、WARN-level 和INFO-level 消息。--debug您还可以通过使用标志启动应用程序来启用“调试”模式。

$ java -jar myapp.jar --debug

如果您的终端支持 ANSI,则使用颜色输出来提高可读性。您可以设置spring.output.ansi.enabled支持的值以覆盖自动检测。

使用%clr转换字配置颜色编码。在最简单的形式中,转换器根据日志级别为输出着色,如以下示例所示:

%clr(%5p)

文件输出

默认情况下,Spring Boot 仅记录到控制台,不写入日志文件。如果您想在控制台输出之外写入日志文件,您需要设置一个logging.file.nameorlogging.file.path属性。

日志文件在达到 10 MB 时会旋转,并且与控制台输出一样,默认情况下会记录ERROR-level、WARN-level 和INFO-level 消息。

文件轮换

application.properties如果您使用的是 Logback,则可以使用您的application.yaml文件微调日志轮换设置。对于所有其他日志记录系统,您需要自己直接配置轮换设置(例如,如果您使用 Log4J2,那么您可以添加一个log4j2.xmllog4j2-spring.xml文件)。

支持以下轮换策略属性:

名称描述
logging.logback.rollingpolicy.file-name-pattern用于创建日志存档的文件名模式。
logging.logback.rollingpolicy.clean-history-on-start如果应在应用程序启动时进行日志归档清理。
logging.logback.rollingpolicy.max-file-size归档前日志文件的最大大小。
logging.logback.rollingpolicy.total-size-cap在被删除之前可以占用的最大大小的日志档案。
logging.logback.rollingpolicy.max-history要保留的存档日志文件的最大数量(默认为 7)。

日志级别

所有受支持的日志记录系统都可以通过使用 TRACE、DEBUG、INFO、WARN、ERROR、FATAL 或 OFF 之一在 Spring 中设置记录器级别(例如Environmentin application.properties) 。记录器可以使用.logging.level.<logger-name>=<level>``level``root``logging.level.root

以下示例显示了潜在的日志记录设置application.properties

logging:
  level:
    root: "warn"
    org.springframework.web: "debug"
    org.hibernate: "error"

也可以使用环境变量设置日志记录级别。

自定义日志配置

可以通过在类路径中包含适当的库来激活各种日志系统,并且可以通过在类路径的根目录中或在以下 SpringEnvironment属性指定的位置中提供合适的配置文件来进一步定制logging.config

org.springframework.boot.logging.LoggingSystem您可以使用system 属性强制 Spring Boot 使用特定的日志记录系统。该值应该是实现的完全限定类名LoggingSystem。您还可以使用none.

根据您的日志记录系统,将加载以下文件:

日志系统定制
logbacklogback-spring.xml, logback-spring.groovy, logback.xml, 或logback.groovy
log4j2log4j2-spring.xml 或者 log4j2.xml
JDK(Java util logging)logging.properties

为了帮助进行自定义,一些其他属性从 Spring 转移Environment到 System 属性,如下表所述:

spring环境系统属性评论
logging.exception-conversion-wordLOG_EXCEPTION_CONVERSION_WORD记录异常时使用的转换字。
logging.file.nameLOG_FILE如果已定义,它将在默认日志配置中使用。
logging.file.pathLOG_PATH如果已定义,它将在默认日志配置中使用。
logging.pattern.consoleCONSOLE_LOG_PATTERN在控制台上使用的日志模式 (stdout)。
logging.pattern.dateformatLOG_DATEFORMAT_PATTERN日志日期格式的附加模式。
logging.charset.consoleCONSOLE_LOG_CHARSET用于控制台日志记录的字符集。
logging.pattern.fileFILE_LOG_PATTERN在文件中使用的日志模式(如果LOG_FILE启用)。
logging.charset.fileFILE_LOG_CHARSET用于文件日志记录的字符集(如果LOG_FILE启用)。
logging.pattern.levelLOG_LEVEL_PATTERN呈现日志级别时使用的格式(默认%5p)。
PIDPID当前进程 ID(如果可能且尚未定义为 OS 环境变量时发现)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕布辕门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值