spring-boot default log location

JavaLoggingSpring Boot

Java Problem Overview


In a spring-boot application I can specify a custom log file with

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

But if I don't specify one, where does it go?

I couldn't find it in any of the following folders:

/tmp/
/var/log/
~/

I do not have spring-boot-starter-logging or any additional logging dependencies.

I was hoping to have something similar to catalina.out since the default configuration runs an embedded Tomcat:

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

Java Solutions


Solution 1 - Java

Spring Boot uses Commons Logging for all internal logging, but leaves the underlying log implementation open.

Default configurations are provided for Java Util Logging, Log4J, Log4J2 and Logback. In each case loggers are pre-configured to use console output with optional file output also available.

From the Spring Boot logging documentation.

The default log configuration will echo messages to the console as they are written. So until you explicitly specify a file as you described, it stays in the Console.

Solution 2 - Java

By default Spring Boot does not output logs to any file. If you want to have logs written in a file (in addition to the console output) then you should use either of logging.file or logging.path properties (not both).

In application.properties, just set:

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

This will create a spring-boot-app.log file under /home/ubuntu.

Solution 3 - Java

By default, Spring Boot logs only to the console and does not write log files. If you want to write log files in addition to the console output, you need to set a logging.file or logging.path property (for example, in your application.properties).

Below codes in your application.properties will write the log into /home/user/my.log:

logging.path = /home/user
logging.file = my.log

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestioncahenView Question on Stackoverflow
Solution 1 - JavaLaurentiu L.View Answer on Stackoverflow
Solution 2 - JavaLeandroPLView Answer on Stackoverflow
Solution 3 - JavaZhaoGangView Answer on Stackoverflow