带有SLF4J和Logback的Struts2生成双日志

带有SLF4J和Logback的Struts2生成双日志,struts2,slf4j,Struts2,Slf4j,Struts 2.1.8和带有Logback的SLF4J有一个非常奇怪的问题。我想我已经按原样设置了所有内容(logback core、logback classic、slf4j api,并从Struts JAR中删除了commons日志记录),但日志如下所示: 16:23:59985信息[stdout](ajp-localhost-127.0.0.1-8009-3)2013-05-11 16:23:59985调试[BasictlesContainer.java:615][ODk3Cc2-mn-

Struts 2.1.8和带有Logback的SLF4J有一个非常奇怪的问题。我想我已经按原样设置了所有内容(logback core、logback classic、slf4j api,并从Struts JAR中删除了commons日志记录),但日志如下所示:

16:23:59985信息[stdout](ajp-localhost-127.0.0.1-8009-3)2013-05-11 16:23:59985调试[BasictlesContainer.java:615][ODk3Cc2-mn-X8eVfnemQn5WZ.undefined]-已收到定义“DocumentList”的渲染请求

显然有两个时间戳,一个日志框架在某处通过另一个日志框架进行日志记录,这导致了这个问题

使用JBoss 7.1.1

有没有办法解决这个问题

编辑:

这就是Logback配置的外观:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d %5p [%F:%L] [%X{sessionId}] - %m%n</pattern>
    </encoder>
</appender>

看起来一个记录器正在通过另一个记录器进行日志记录。

我假设您的logback配置有点特殊,您的格式字符串中是否可能有两个时间戳?你能发布相关部分吗?我刚刚发布了更新。更新:似乎这种情况只发生在控制台/标准输出日志中,如果我使用文件记录器,一切正常。发送到控制台的输出被截获并记录。如果原始输出是通过日志记录生成的,则会出现双重日志记录。请注意,时间戳是不同的!
20:23:46,128 INFO  [stdout] (connector_xxxx) 2013-05-11 20:23:46,127  DEBUG [ReConnector.java:83] [] - Next connection attempt in (ms) 20000