【发布时间】:2018-01-26 08:43:40
【问题描述】:
我正在开发一个 maven 项目,我使用 slf4j 执行日志记录,但我的问题是我的 logback.xml 配置未加载,它不会对我的项目生效。我的logback.xml 放在src/main/resources 文件夹中
依赖关系:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${jcloverslf4j.version}</version>
</dependency>
logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE XML>
<configuration>
<!-- Appenders -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
by default -->
<encoder>
<pattern>[%d{dd-MM-yyyy HH:mm:ss.SSS}] [%-5level] [%logger{36}.%M\(%line\)] - %msg %n</pattern>
</encoder>
</appender>
<!-- Application logger -->
<logger name="com.example">
<level value="info" />
</logger>
<!-- Root Logger -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
主类:
public class Main {
private static Logger logger = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
logger.trace("hi");
logger.debug("hi");
logger.info("hi");
logger.warn("hi");
logger.error("hi");
}
}
预期:
09:34:27.298 [main] INFO com.example.entry.Main - hi
09:34:27.298 [main] 警告 com.example.entry.Main - hi
09:34:27.298 [main] 错误 com.example.entry.Main - hi
输出:
09:34:27.296 [main] 调试 com.example.entry.Main - hi
09:34:27.298 [main] INFO com.example.entry.Main - hi
09:34:27.298 [main] 警告 com.example.entry.Main - hi
09:34:27.298 [main] 错误 com.example.entry.Main - hi
【问题讨论】:
-
你能指定你期望的输出吗?
-
Main 类的包是什么?
-
@VladBochenin logger.info("hi"); logger.warn("你好"); logger.error("hi");
-
@AntonTupy com.example.entry.Main
-
logback.xml 是否包含在类路径中?您如何运行您的应用程序?