Springboot 设置同时输出日志到文件

举报
TT-千叶 发表于 2022/12/17 14:17:02 2022/12/17
【摘要】 文章目录实现原理文件输出参考资料 实现springboot 项目默认只把日志输出到控制台,现在需要输出到指定的日志文件 /var/logs/dg/foo/foo.log。只要一条语句:logging: file: name: "/var/logs/dg/foo/foo.log" 原理springboot 所有内部日志都使用 common logging 输出,但未限定具体的日志实现...

文章目录

实现

springboot 项目默认只把日志输出到控制台,现在需要输出到指定的日志文件 /var/logs/dg/foo/foo.log
只要一条语句:

logging:
  file:
    name: "/var/logs/dg/foo/foo.log"

原理

springboot 所有内部日志都使用 common logging 输出,但未限定具体的日志实现。
springboot 对 Java Util Log、Log4j2、Logback 提供默认配置,开发者可以选择其中一个,开箱即用,
springboot 默认配置把日志输出到控制台。

若是使用 springboot starter 创建的项目,springboot 选择 Logback 作为日志实现。
且恰当配置了 logback 的日志路由,确保任何使用 Java Util Logging, Commons Logging, Log4J, 或 SLF4J
的库都可以正常工作。

文件输出

默认,springboot 只把日志输出到控制台,不写入日志文件。通过配置 logging.file.name
logging.file.path 属性(比如在application.properties文件中设置)可以写日志到文件中。

  1. 不指定 logging.file.name 也不指定 logging.file.path:仅输出到控制台
  2. 指定 logging.file.name 但不指定 logging.file.path:输出到控制台以及 logging.file.name 指定的日志文件中。logging.file.name 可以是绝对路径,也可以是相对路径(相对于当前目录)。
  3. 不指定 logging.file.name,而指定 logging.file.path: 输出到控制台以及 ${logging.file.path}spring.log。logging.file.path 可以是绝对路径,也可以是相对路径(相对于当前目录)。

PS:同时指定二者,效果与 2 等同。

参考资料

参考资料
Core Features | logging

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。