Spring 为什么我的Log4j日志没有显示在控制台上?
我有一个内置于Eclipse/STS中的web应用程序,带有SpringMVC和Maven 我想添加日志记录,所以我向pom.xml添加了SLF4和Log4J,如下所示Spring 为什么我的Log4j日志没有显示在控制台上?,spring,eclipse,maven,log4j,slf4j,Spring,Eclipse,Maven,Log4j,Slf4j,我有一个内置于Eclipse/STS中的web应用程序,带有SpringMVC和Maven 我想添加日志记录,所以我向pom.xml添加了SLF4和Log4J,如下所示 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifa
<!-- 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>
我在我的主网络控制器中创建了一个Logger类,如下所示
# 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
private static Logger logger = LoggerFactory.getLogger(WebController.class);
@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");
/* ... */
}
在我的“showMain”方法中,我正在做一些日志记录工作,像这样
# 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
private static Logger logger = LoggerFactory.getLogger(WebController.class);
@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放在项目中的不同位置,但什么都没有
我一定错过了一些简单的东西?我遗漏了什么?您说您在pom.xml中添加了log4j,但我没有看到,您确定这是您的pom.xml的最新版本吗
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
log4j
log4j
1.2.17
您声明在pom.xml中添加了log4j,但我没有看到,您确定这是您的pom.xml的最新版本吗
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
log4j
log4j
1.2.17
如果pom.xml中缺少日志引擎,可以使用log4j2。
请考虑使用最新版本而不是Log4J(1.2。x),因为您可以提前:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.3</version>
</dependency>
</dependencies>
org.apache.logging.log4j
log4japi
2.13.3
org.apache.logging.log4j
log4j型芯
2.13.3
如果pom.xml中缺少日志引擎,可以使用log4j2。
请考虑使用最新版本而不是Log4J(1.2。x),因为您可以提前:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.3</version>
</dependency>
</dependencies>
org.apache.logging.log4j
log4japi
2.13.3
org.apache.logging.log4j
log4j型芯
2.13.3
这就是我们所缺少的!谢谢我错误地认为slf4j-log4j12就足够了。谢谢谢谢你的帮助,仅供参考,我发布了另一个Log4j问题,如果你能看一下,那就太好了!对不起,伙计,我出去了几天,我检查了一下,很高兴你在第二个问题中找到了答案。干杯这就是我们所缺少的!谢谢我错误地认为slf4j-log4j12就足够了。谢谢谢谢你的帮助,仅供参考,我发布了另一个Log4j问题,如果你能看一下,那就太好了!对不起,伙计,我出去了几天,我检查了一下,很高兴你在第二个问题中找到了答案。干杯你是对的,但我从另一个用户那里得到了类似的答案,所以我首先将他们的答案标记为正确。谢谢你的帮助@Elliot.Easton.2020这是一个更好的答案。最新版本的log4j
(1.2.17)于2012年5月发布。没有理由不使用用现代工具更新的维护版本。你是对的,但我从另一个用户那里得到了类似的答案,所以我首先标记了他们的正确答案。谢谢你的帮助@Elliot.Easton.2020这是一个更好的答案。最新版本的log4j
(1.2.17)于2012年5月发布。没有理由不使用用现代工具更新的维护版本。