spring boot项目下application.properties中使用logging.path和logging.file时的细节

logging.path仅仅用于指定日志输出的目录,且不能指定输出的文件名,且默认名为spring.log  若指定的是相对目录,则会生成在当前总项目的目录下

idea中新建sprnig boot项目,添加spring boot项目中的logback依赖:

application.properties中指定日志输出目录为桌面,如下:

运行spring boot项目,控制台内容如下:

回到桌面,发现已生成了spring.log文件,如下:

内容与控制台输出一致:

而当我们更改为application.properties=/Users/yanguobin/Desktop/aaa.log

再次运行时,发现并没有在桌面生成aaa.log日志文件,而是在桌面生成了aaa.log目录,在该目录下生成了spring.log日志文件,如下:

再比如更改为相对路径application.properties=ccc.log

再次运行后,ccc.log仍为目录,且生成在了当前总项目springbootdemos(我这里springbootdemos是一个Empty Project,springbootlogbackdemo是一个子项目)目录下,即与子项目springbootlogbackdemo同级


 logging.file可以

  • 只指定文件名,会生成在当前总项目springbootdemos目录下,即与子项目springbootlogbackdemo同级

 

  • 同时指定目录和文件名,会在指定目录下生成指定文件名的日志文件
    • 绝对路径

    • 相对路径,则会生成在当前总项目springbootdemos目录下,即与子项目springbootlogbackdemo同级

  • 但当只指定已存在的目录时,是不起作用的,是无效的

  • 若后面跟上不存在的目录或文件,则会生成日志文件

运行之前桌面上没有mylog的情况时,会生成名为mylog的日志文件


若同时指定logging.path和logging.file,则logging.path不会生效,只会按照logging.file生成,具体不再举例演示 

原文地址:https://www.cnblogs.com/yanguobin/p/11486584.html