springboot 日志 logging.file.name、logging.file.path和actuator/logfile

编程入门 行业动态 更新时间:2024-10-10 14:29:57

springboot <a href=https://www.elefans.com/category/jswz/34/1770796.html style=日志 logging.file.name、logging.file.path和actuator/logfile"/>

springboot 日志 logging.file.name、logging.file.path和actuator/logfile

首先对 logging.file.namelogging.file.path 进行一下说明,但是它俩的区别并不是本文的重点。

1、logging.file.name 设置具体输出的日志名称,可以是绝对路径或者基于当前运行目录的相对路径,例如:logging.file.name=app.loglogging.file.name=/var/log/hello-service/app.log

2、logging.file.path 设置输出的日志被写入到的目录,默认文件名为 spring.log,例如:logging.file.path=/var/log/hello-service

3、如果你两个都同时设置,则以 logging.file.name 为准。

本文重点,是推荐使用 logging.file.name,原因是因为这里涉及到另外一个知识点,那就是 spring 的 actuator 中的 logfile 接口(例如:http://localhost:8080/hello-service/actuator/logfile 可以直接获取日志文件,比较不错的是它还支持使用 HTTPRange 头来检索日志文件的部分内容)。

如果你只设置了 logging.file.name,不论你实际的文件名设置为什么,这个接口都可以正常获取日志文件(因为接口它能明确知道日志文件的位置路径)。

如果你只设置了 logging.file.path,并且没有在自定义的 logback.xml 文件重新定义输出的具体日志文件的名称(也就是仍然使用默认的spring.log),那么 logfile 接口也是能正常获取日志文件,因为它是按照默认文件 spring.log 获取日志的。但是但凡你在 logback.xml 中重新定义了输出的日志文件名(例如输出的日志文件为 hello-service.log),则你使用 actuator/logfile 接口就会或得一个404,因为此时框架并不知道你的真实日志文件叫什么,它去读取 spring.log 又读不到(因为你改名了)。

so,建议直接使用 logging.file.name,清晰明了。


(END)

更多推荐

springboot 日志 logging.file.name、logging.file.path和actuator/logfile

本文发布于:2024-03-08 00:23:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1719345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:日志   logging   springboot   file   logfile

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!