【发布时间】:2020-09-17 07:16:59
【问题描述】:
我有一个使用 Spring MVC 和 Maven 在 Eclipse/STS 中构建的 Web 应用程序。
我想添加日志,所以我像这样在 pom.xml 中添加了 SLF4 和 Log4J ..
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.30</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
<scope>test</scope>
</dependency>
我在project/src/main/resources 文件夹中有一个简单的 log4j.properties 文件,如下所示...
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我在我的主 WebController 中创建了一个 Logger 类,就像这样......
private static Logger logger = LoggerFactory.getLogger(WebController.class);
在我的“showMain”方法中,我正在做一些日志记录,比如这样......
@RequestMapping(value={"", "/", "showhome"}, method={RequestMethod.POST,RequestMethod.GET})
public ModelAndView showHome(Model model) {
logger.info("########### TEST LOG INFO");
logger.error("########### TEST LOG ERROR");
logger.warn("########### TEST LOG WARN");
logger.debug("########### TEST LOG DEBUG");
/* ... */
}
但是当我运行应用程序时,我在控制台中看不到任何日志输出。
我也没有在控制台输出中看到任何表明它甚至正在使用日志记录框架的内容。并且没有“找不到 log4j.properties”消息或任何东西。
我尝试将 log4j.properties 放在项目中的不同位置,但没有。
我一定错过了一些简单的东西吗?我错过了什么?
【问题讨论】:
标签: spring eclipse maven log4j slf4j