我的Spring boot 2应用程序在运行时未显示任何日志消息。我只能看到启动日志。该应用程序作为WAR部署在生产服务器中,我将日志配置为输出到文件:
logging.file = app.log
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
logging.pattern.console= %d{yyyy-MM-dd HH:mm:ss} - %msg%n
在本地我可以看到我在代码中包含的任何调试消息,但是在服务器中却看不到。我只看到应用程序启动跟踪。
我的配置文件生成是官方指南提供的。以及app.war中的tomcat依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
您是否知道发生了什么?它很奇怪。日志文件在服务器中生成(我们将其部署在docker容器中),但是在应用程序运行后,不再有日志输出到该文件。
答案 0 :(得分:0)
默认情况下,Spring Boot的日志级别为INFO。
根据Spring引导日志指南79.1.1 Configure Logback for File-only Output
如果要禁用控制台日志记录并仅将输出写入文件,则需要一个自定义的logback-spring.xml
,它导入file-appender.xml
而不导入console-appender.xml
,如以下示例所示:< / p>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
您还需要将logging.file
添加到已添加的{.1}您的application.properties中。