在spring-boot
应用程序中,我可以使用
java -jar spring-boot-app.jar --logging.file=/home/ubuntu/spring-boot-app.log
但如果我没有指定一个,它会去哪里?
我无法在以下任何文件夹中找到它:
/tmp/
/var/log/
~/
我不拥有spring-boot-starter-logging
或任何其他日志记录依赖项。
我希望有类似于catalina.out
的东西,因为默认配置运行嵌入式Tomcat:
INFO 10374 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8100 (http)
答案 0 :(得分:20)
Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现。
为Java Util Logging,Log4J,Log4J2和Logback提供了默认配置。在每种情况下,记录器预先配置为使用控制台输出,并且可选的文件输出也可用。
来自Spring Boot logging documentation。
默认日志配置会在写入时将消息回显给控制台。 因此,在您按照描述明确指定文件之前,它将保留在控制台中。
答案 1 :(得分:0)
默认情况下,Spring Boot不会将日志输出到任何文件。如果您希望将日志写入文件(除了控制台输出之外),则应使用 logging.file 或 logging.path 属性( )。
在application.properties中,只需设置:
logging.file=/home/ubuntu/spring-boot-app.log
这将在spring-boot-app.log
下创建一个/home/ubuntu
文件。
答案 2 :(得分:-1)
默认情况下,Spring Boot仅记录到控制台,不写日志文件。如果除了控制台输出外还想写入日志文件,则需要设置logging.file
或logging.path
属性(例如,在application.properties
中)。
application.properties
中的以下代码会将日志写入/home/user/my.log
:
logging.path = /home/user
logging.file = my.log