首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4j2封装在JBoss日志记录中

log4j2封装在JBoss日志记录中
EN

Stack Overflow用户
提问于 2013-12-05 15:44:05
回答 1查看 3.3K关注 0票数 1

我有一个应用程序使用三个库:

  1. 首先使用JBoss日志记录
  2. 第二种使用ApacheCommons日志记录。
  3. 第三,在类路径上直接使用log4j2 API (如果不在类路径上,则直接使用log4j )。

并被配置为将日志路由到log4j 1.2。

由于性能问题,我想切换到log4j2。

我从类路径中删除了log4j,并在其中添加了log4j2-1.2桥、log4j2-core和log4j2-api。我已经通过-Dlog4j.configurationFile配置了日志记录,配置如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
   <Appenders>
      <Console name="CONSOLE" target="SYSTEM_OUT">
         <PatternLayout pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %m%n"/>
      </Console>
   </Appenders>
   <Loggers>
      <Logger name="foo" level="TRACE">
         <AppenderRef ref="CONSOLE"/>
      </Logger>

      <Logger name="foo.bar" level="DEBUG">
         <AppenderRef ref="CONSOLE"/>
      </Logger>
      <Logger name="xxx" level="TRACE">
         <AppenderRef ref="CONSOLE"/>
      </Logger>
      <Root level="DEBUG">
         <AppenderRef ref="CONSOLE"/>
      </Root>
  </Loggers>
</Configuration>

现在,我有几个问题:

  1. 来自Apache共用日志记录的消息将被记录两次。
  2. i18ed JBoss日志记录(通过通过注释创建的记录器)没有根据配置对消息进行格式化,而是使用默认的log4j2格式。然而,这些只写了一次。
  3. 由一个特定类记录的JBoss日志记录中很少有非i18ed消息,但并不是全部(这非常奇怪)
  4. 直接使用log4j2 API的消息会被记录两到三次。

有什么线索可以解决吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-06 08:35:46

所以我基本上犯了两个错误:

  1. 我还没有发现在log4j2日志记录中使用的可加性--每个记录器都必须有additivity="false“(这可以在全球范围内设置吗?)
  2. 我的JBLOGGING版本是3.1.2.GA,遗憾的是,log4j2的使用还没有固定(参见JBLOGGING-94)。它只在未发布版本3.1.4.GA中修复,所以我必须使用快照版本(并且不能发布带有log4j2支持的应用程序)。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20404315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档