jboss 7 logger записывает одни и те же данные в два разных файла - PullRequest
4 голосов
/ 28 марта 2012

У меня есть jboss 7.1.1 со следующим определением:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
        <console-handler name="CONSOLE">
            <level name="INFO"/>
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
        </console-handler>
        <periodic-rotating-file-handler name="FILE">
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="server.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>
        <size-rotating-file-handler name="ACEII">
            <level name="DEBUG"/>
            <formatter>
                <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="ACEII.log"/>
            <rotate-size value="100K"/>
            <max-backup-index value="10"/>
            <append value="false"/>
        </size-rotating-file-handler>
        <logger category="ace2">
            <level name="DEBUG"/>
            <handlers>
                <handler name="ACEII"/>
            </handlers>
        </logger>
        <logger category="com.arjuna">
            <level name="WARN"/>
        </logger>
        <logger category="org.apache.tomcat.util.modeler">
            <level name="WARN"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb.config">
            <level name="ERROR"/>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
    </subsystem>

, как вы можете видеть, у меня есть один обработчик, который пишет в server.log, а другой - в ACE2.log.проблема в том, что журналы ACE2 также записываются в server.log, что я делаю не так?

Ответы [ 2 ]

9 голосов
/ 28 марта 2012

Я нашел ответ, просто добавьте use-parent-handlers = "false" в ваш логгер:

<logger category="ace2" use-parent-handlers="false">
            <level name="DEBUG"/>
            <handlers>
                <handler name="ACEII"/>
            </handlers>
        </logger>
1 голос
/ 28 марта 2012

Обработчик FILE, который пишет в server.log, указан в корневом логгере и, таким образом, будет получать сообщения также из логгера ace2.

...