我有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,我做错了什么?
答案 0 :(得分:9)
我找到了答案,只需将use-parent-handlers =“false”添加到记录器中:
<logger category="ace2" use-parent-handlers="false">
<level name="DEBUG"/>
<handlers>
<handler name="ACEII"/>
</handlers>
</logger>
答案 1 :(得分:1)
写入FILE
的{{1}}处理程序列在根记录器中,因此也会从server.log
记录器接收消息。