首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jboss-7日志中可以有多个具有相同类别的处理程序吗?

在jboss-7日志中可以有多个具有相同类别的处理程序吗?
EN

Stack Overflow用户
提问于 2012-11-15 16:33:29
回答 1查看 2.1K关注 0票数 1

我在standalone.xml文件中为同名的类别定义了两个处理程序,如下所示

代码语言:javascript
复制
<logger category="ab.cd" use-parent-handlers="false">
            <level name="DEBUG" />
            <handlers>
                <handler name="abDebug" />
            </handlers>
        </logger>
<logger category="ab.cd" use-parent-handlers="true">
                <level name="WARN" />
                <handlers>
                    <handler name="abWarning" />
                </handlers>
            </logger>

但是当我尝试运行jboss 7时,我遇到了异常

代码语言:javascript
复制
 14:28:08,090 ERROR [org.jboss.as.server] JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:141) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.ServerService.boot(ServerService.java:266) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:155) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[143,4]
Message: JBAS014664: An element of this type named 'ab.cd' has already been declared
    at org.jboss.as.controller.parsing.ParseUtils.duplicateNamedElement(ParseUtils.java:235) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.logging.LoggingSubsystemParser.parseLoggerElement(LoggingSubsystemParser.java:229)
    at org.jboss.as.logging.LoggingSubsystemParser.readElement(LoggingSubsystemParser.java:149)
    at org.jboss.as.logging.LoggingSubsystemParser.readElement(LoggingSubsystemParser.java:113)
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:894) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_1(StandaloneXml.java:330) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:127) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:100) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:133) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
    ... 3 more

那么,我想知道有没有可能有两个相同类别的记录器?如果不是,那么在这种情况下,我如何将数据发送到两个不同的处理程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-16 00:35:52

您不能有两个定义了相同类别的记录器。记录器如何知道它应该使用哪个级别?您最好使用一个不设置级别的记录器,并使用处理程序设置您想要记录的级别。

类似于以下内容:

代码语言:javascript
复制
<file-handler name="abDebug" auto-flush="true">
    <level name="DEBUG"/>
    <file relative-to="jboss.server.log.dir" path="abDebug.log"/>
    <append value="true"/>
</file-handler>
<file-handler name="abWarning" auto-flush="true">
    <level name="WARN"/>
    <file relative-to="jboss.server.log.dir" path="abWarning.log"/>
    <append value="true"/>
</file-handler>

<logger category="ab.cd">
    <handlers>
        <handler name="abDebug" />
        <handler name="abWarning" />
    </handlers>
</logger>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13393854

复制
相关文章

相似问题

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