spring-boot默认日志位置

cah*_*hen 26 java logging spring-boot

spring-boot应用程序中,我可以使用指定自定义日志文件

java -jar spring-boot-app.jar --logging.file=/home/ubuntu/spring-boot-app.log

但是,如果我没有指定一个,他们去哪里了?

我在以下任何文件夹中都找不到它:

/tmp/
/var/log/
~/
Run Code Online (Sandbox Code Playgroud)

具备spring-boot-starter-logging或任何额外的日志依赖.

我希望有类似的东西,catalina.out因为默认配置运行嵌入式Tomcat:

INFO 10374 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8100 (http)
Run Code Online (Sandbox Code Playgroud)

Lau*_* L. 25

Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现.

为Java Util Logging,Log4J,Log4J2和Logback提供了默认配置.在每种情况下,记录器都预先配置为使用控制台输出,并且还提供可选的文件输出.

Spring Boot日志记录文档.

默认日志配置将在写入时将消息回显给控制台.因此,在您按照描述明确指定文件之前,它将保留在控制台中.


小智 7

默认情况下,Spring Boot不会将日志输出到任何文件。如果您希望将日志写入文件中(除了控制台输出之外),则应该使用logging.filelogging.path属性之一(不能同时使用两者)。

在application.properties中,只需设置:

logging.file=/home/ubuntu/spring-boot-app.log
Run Code Online (Sandbox Code Playgroud)

这将spring-boot-app.log在下创建一个文件/home/ubuntu

  • logging.file 现已弃用。使用logging.file.name代替 (2认同)