【发布时间】:2017-07-07 04:16:22
【问题描述】:
有没有人尝试过在 Tapestry 5.4 中使用默认内置的 slf4j 和 log4j2? 我可以像这样使用 log4j2:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
...
private Logger logger = LogManager.getLogger(this.getClass());
但我不能这样使用:
import org.apache.tapestry5.ioc.annotations.Inject;
import org.slf4j.Logger;
...
@Inject private Logger logger;
我不明白为什么,因为我认为,我在我的 gradle 脚本中添加了 所需库:
runtime group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8'
runtime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8'
runtime group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.8'
runtime group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.8'
有谁知道,为什么它对我不起作用?
提前致谢!
【问题讨论】:
-
有错误吗?你怎么知道它不起作用?
-
嗨!谢谢回复。问题是在 log4j2.xml 中设置了最低级别 DEBUG 但如果使用注入版本,则仅登录信息级别,但如果我使用此
private Logger logger = LogManager.getLogger(this.getClass());则 DEBUG 级别已打开。无论如何,我的同事帮助了我,我将回答解决方案。 :)
标签: spring logging slf4j log4j2 tapestry