Spring Boot能否通过application.properties仅记录应用相关日志至文件?
实现方法:仅保留应用代码日志到文件
完全可以通过application.properties实现这个需求,核心思路是调整不同日志源的级别,只让你的应用代码包的日志输出到文件,抑制Spring框架等第三方组件的日志。
具体配置步骤:
假设你的应用代码都在c.t.lab包下(从你提供的日志路径c.t.lab.LabSpringBootApplication可看出),在application.properties中添加以下配置:
# 根日志级别设为WARN,默认抑制所有包的INFO/DEBUG级日志 logging.level.root=WARN # 单独开启你的应用包的日志级别(根据需求设为INFO/DEBUG等) logging.level.c.t.lab=INFO # 保留你原来的文件和格式配置 logging.file.name=my-app-api.log logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n # 控制台日志配置可保留原设置,不影响文件日志 logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss.SSS} %logger.%M - %msg%n
配置说明:
logging.level.root=WARN:将全局默认日志级别设为WARN,Spring框架、第三方组件的INFO/DEBUG级日志会被过滤,不会输出到文件。logging.level.c.t.lab=INFO:单独把应用代码所在包的日志级别设为INFO(或你需要的级别),确保应用代码的日志能正常输出到文件。- 若应用有多个子包,只需配置最上层的父包即可,子包会继承这个级别。
额外说明:
如果之后需要保留某些特定框架的关键日志(比如数据库连接相关),可以单独给对应的包设置级别,例如:
# 保留数据库连接池的INFO日志 logging.level.com.zaxxer.hikari=INFO
内容的提问来源于stack exchange,提问作者subhasis
相关产品推荐
相关产品推荐

