log4j debug在Jboss 7.1中不起作用

时间:2013-04-15 10:50:44

标签: java jboss log4j jboss7.x

我有Jboss 7.1的Enterprise Java Project。

我为我的EAR添加了log4j。

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
     <version>1.2.17</version>
</dependency>

现在,logger.error()效果很好。但logger.debug无效。您如何看待这个?..如何启用调试?

@Startup 
@Stateless
import org.apache.log4j.Logger;
public class MyClass{

    public static final Logger logger = Logger.getLogger(MyClass.class.getSimpleName());

    @PostConstruct
    private void invoke() {
           logger.error("error ");
       logger.debug("debug");
        }
}

2 个答案:

答案 0 :(得分:1)

log4j不运送log4j罐吗?使用您正在使用的standalone.xml或配置文件进行配置检查。

搜索记录子系统,

e.g。

<subsystem xmlns="urn:jboss:domain:logging:1.1">

将根记录器级别名称设置为FINER,如下所示,重新运行并检查:

        <root-logger>
            <level name="DEBUG"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>

如何添加appender?

假设您正在使用

初始化包x.y.z中类ABC的Logger对象
Logger LOG = LoggerFactory.getLogger(ABC.class);

因此,相同的appender看起来像是:

        <logger category="x.y.z">
            <level name="DEBUG"/>
        </logger>

        <logger category="x.y">
            <level name="DEBUG"/>
        </logger>

        <logger category="x">
            <level name="DEBUG"/>
        </logger>

取决于您想要的粒度级别。

答案 1 :(得分:0)

Jboss拥有自己的绑定程序,无法覆盖运行时,请确保已添加具有适当调试级别的log4j.properties。尝试在其中使用fileappender,以便您了解Jboss是使用您的log4j绑定器还是它自己的。