【问题标题】:Tapestry 5 + log4j2挂毯 5 + log4j2
【发布时间】: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


【解决方案1】:

我得到了帮助,我找到了解决方案,我不得不将 gradle 文件更改为:

compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8'
compile group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.8'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.8'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    相关资源
    最近更新 更多