答案 0 :(得分:2)
这是我的方法:
将以下依赖项添加到pom.xml:
<!-- SL4J API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
</dependency>
<!-- SLF4J JDK14 Binding -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.6.0</version>
</dependency>
<!-- Injectable Weld-Logger -->
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-logger</artifactId>
<version>1.0.0-CR2</version>
</dependency>
注入记录器并照常使用:
import javax.inject.Inject;
import org.slf4j.Logger;
public class Example {
@Inject
private Logger logger;
public void exampleFunc() {
logger.info("Hello Logger!");
}
}
如果您想使用Log4J而不是SLF4J-JDK14绑定,我找到了this page。我试过了,但我无法让它工作,所以我仍然坚持自己的解决方案。
答案 1 :(得分:0)
确保您的bean位于bean存档中 - 即您拥有META-INF/beans.xml
除了焊接扩展,除非你给出完整的例外,否则我无法帮助你,你可以创建一个@Produces
一个Logger
答案 2 :(得分:0)
默认的slf4j记录器生成器在Weld Extensions中定义。如果您想在不包括所有焊接扩展的情况下连接自己的生成器,您可以看到生成器是如何编写的here。
答案 3 :(得分:0)
在这种情况下,我没有将bean.xml放在META-INF中。