Spring启动应用程序的默认日志文件

Meg*_*gan 19 logging spring-boot

我在application.yml中的spring boot应用程序中设置了日志记录级别:logging.level.com.Myapplicationname = DEBUG

该应用程序在tomcat上打包并部署为war.除此之外,我还没有设置logback.xml来定义日志文件等.请告诉我,当某些用户通过浏览器使用该应用程序时,我在哪里可以看到控制台日志.是否有框架创建的默认文件.

ale*_*xbt 36

您应该指定logging.file或者logging.path,但不能同时指定两者(当指定两者时,将logging.path被忽略并且仅logging.file被考虑).

1.使用logging.file

您可以使用logging.file以下方法之一:

logging.file = logfile.log                     //in current folder
logging.file = relativepath/to/logfile.log     //relative path with filename
logging.file = /fullpath/to/logfile.log        //full path with filename
Run Code Online (Sandbox Code Playgroud)

Spring Boot文档中:

默认情况下,Spring Boot只会登录到控制台,不会写入日志文件.如果除了控制台输出之外还要编写日志文件,则需要设置logging.file或logging.path属性(例如在application.properties中).

Spring Boot中如何记录doc:

如果您需要对日志记录进行的唯一更改是设置各种记录器的级别,那么您可以使用"logging.level"前缀在application.properties中执行此操作,例如,您还可以设置要记录到的文件的位置(除了控制台)使用"logging.file".

2.使用logging.path

您还可以使用logging.path设置路径,在这种情况下,日志文件将自动命名spring.log:

logging.path = ./                         // -> spring.log in current folder
logging.path = relativepath/to/logs       // -> relativepath/to/logs/spring.log
logging.path = /fullpath/to/logs          // -> /fullpath/to/logs/spring.log
Run Code Online (Sandbox Code Playgroud)

Spring Boot doc中:

[ using logging.path ]将spring.log写入指定目录.名称可以是精确位置或相对于当前目录.

Spring Boot日志记录中的springframework.guru:

还有一个logging.path属性,用于指定日志记录文件的路径.如果使用它,Spring Boot会在指定的路径中创建一个spring.log文件.但是,您不能同时指定logging.file和logging.path属性.如果完成,Spring Boot将忽略这两者.


小智 26

对于那些使用 spring boot 2.2.x 你需要把它放在配置文件中

logging.file.name='/var/log/app.log'
Run Code Online (Sandbox Code Playgroud)

或使用这个

logging.file.path='/var/log'
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用 logging.file.path 它会将spring.log写入指定目录。名称可以是确切位置或相对于当前目录

  • 这里不需要使用刻度,但感谢您指出 Spring Boot 2.2.x 中的差异。 (3认同)

Ind*_*our 13

最新的 spring 版本发生了一些变化,现在我们必须使用:

日志文件名

而不是使用这个(这是旧的方式)

日志文件

希望这会有所帮助。


Jor*_*ana 7

正如alexbt所说,你不能同时使用这两个属性(logging.path和logging.file),因为Spring Boot会忽略这两个属性.

但是您可以使用带有编码路径的logging.file.

示例:logging.file =/path/to/logs/your_logfile.log