【发布时间】:2021-01-30 00:56:22
【问题描述】:
我使用的是 spring boot 2.3.1 版本,应用程序日志有问题。我的 logback-spring.xml 文件如下,
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="APP_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %-5level %-12X{process} %-30([%thread]) %-29logger - %m%n</Pattern>
</encoder>
</appender>
<logger name="com.sample" level="DEBUG" additivity="false"/>
<logger name="org.springframework" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="APP_LOGGER"/>
</root>
</configuration>
我的控制器是,
package com.sample;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
@RestController
public class Controller {
private static final Logger LOGGER = LoggerFactory.getLogger(Controller.class);
@GetMapping("/")
public void greetings(){
LOGGER.info("AAAAA....");
LOGGER.debug("DDDD...");
LOGGER.warn("WWW...");
LOGGER.error("EEEE....")
}
}
我尝试在 application.properties 文件中添加以下内容,
logging.level.root=DEBUG
logging.level.org.springframework=INFO
logging.level.com.sample=DEBUG
没有运气,还尝试了以下其他替代方法,并在application.properties中添加了文件路径logging.file.name=/var/log/app.log。
<?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/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="com.sample" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
app.log 文件正在创建,我在 app.log 文件中只看到与 spring 相关的日志,而不是应用程序日志。
【问题讨论】:
标签: spring spring-boot logback slf4j