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生成,具体不再举例演示