【问题标题】:log4j debug is not working in Jboss 7.1log4j 调试在 Jboss 7.1 中不起作用
【发布时间】:2013-04-15 10:50:43
【问题描述】:

我有 Jboss 7.1 的 Enterprise Java 项目。

我已经为我的 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");
        }
}

【问题讨论】:

  • EJB 标签在这里没有意义。

标签: java jboss log4j jboss7.x


【解决方案1】:

log4j 不提供 log4j jars 吗?使用您正在使用的standalone.xml 或配置文件进行配置检查。

搜索日志子系统,

例如

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

将 root-logger 级别名称设置为 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>

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

【讨论】:

  • 你是如何进行日志记录的,你可以尝试在你的问题中解释一下,提及配置文件等细节,加载 log4j 配置。使用你自己的 jars 或 jboss 附带的 jars
  • 我没有任何配置。我使用 Jboss 默认配置。然后我在 logger.debug() 之前编写 BasicConfigurator.configure() 以创建默认配置。我在这里看到了这个例子:dzone.com/tutorials/java/log4j/…
  • 我是否应该添加一些其他配置。重要吗?
  • 不,你不应该,如果你使用的是企业服务器,我想使用我能从中得到的最大值。如果你使用相同的配置,那么你只需要设置 appenders 就可以开始了。
  • 但是我现在该怎么办?我不明白..我更改 仍然无法正常工作。它被设置为 并且有效。我改变了,但是....如何设置所有名称?
【解决方案2】:

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

【讨论】:

  • BasicConfigurator.configure() 方法使用 log4j.rootLogger=DEBUG 进行默认配置。我已经添加了这个方法,但它还不起作用 log4j.rootLogger=DEBUG, CA 我已经添加了 BasicConfigurator.configure() 但它还不起作用。
猜你喜欢
  • 2012-03-23
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
相关资源
最近更新 更多