Mauricio Arellano
Mauricio Arellano

Reputation: 45

how to exclude logger categories from server.log on JBoss AS 7.0.2.Final

Im working with JBoss AS 7.0.2.Final and there is no chance to change it.

I've tried to configure standalone.xml for create different log files for a different categories. My issue is this: the ouputs for each logger are appened correctly on the specified files, but are also written on server.log file.

There is my entire logging subsystem configuration:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
    <console-handler name="CONSOLE" autoflush="true">
        <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" autoflush="true">
        <level name="INFO"/>
        <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>
    <periodic-rotating-file-handler name="REQUEST" autoflush="true">
        <level name="INFO"/>
        <formatter>
            <pattern-formatter pattern="%m%n"/>
        </formatter>
        <file path="/Logs/requests.log"/>
        <suffix value=".yyyy-MM-dd-HH"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <periodic-rotating-file-handler name="ALARMS" autoflush="true">
        <level name="INFO"/>
        <formatter>
            <pattern-formatter pattern="%m%n"/>
        </formatter>
        <file path="/Logs/alarms.log"/>
        <suffix value=".yyyy-MM-dd-HH"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.maucho.alarm" use-parent-handlers="false">
        <level name="INFO"/>
        <handlers>
            <handler name="ALARMS"/>
        </handlers>
    </logger>
    <logger category="com.maucho.request" use-parent-handlers="false">
        <level name="INFO"/>
        <handlers>
            <handler name="REQUEST"/>
        </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="com.hp.autopassj">
        <level name="WARN"/>
    </logger>
    <logger category="org.jboss.as.server.deployment">
        <level name="ERROR"/>
    </logger>
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
</subsystem>

When start AS, standalone.xml file is overwritten and replace logger tags without the attribute use-parent-handlers="false" with nothing, setting the behavior to its default value, use-parent-handlers="true":

<subsystem xmlns="urn:jboss:domain:logging:1.1">
    <console-handler name="CONSOLE" autoflush="true">
        <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" autoflush="true">
        <level name="INFO"/>
        <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>
    <periodic-rotating-file-handler name="REQUEST" autoflush="true">
        <level name="INFO"/>
        <formatter>
            <pattern-formatter pattern="%m%n"/>
        </formatter>
        <file path="/Logs/requests.log"/>
        <suffix value=".yyyy-MM-dd-HH"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <periodic-rotating-file-handler name="ALARMS" autoflush="true">
        <level name="INFO"/>
        <formatter>
            <pattern-formatter pattern="%m%n"/>
        </formatter>
        <file path="/Logs/alarms.log"/>
        <suffix value=".yyyy-MM-dd-HH"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.maucho.alarm">
        <level name="INFO"/>
        <handlers>
            <handler name="ALARMS"/>
        </handlers>
    </logger>
    <logger category="com.maucho.request">
        <level name="INFO"/>
        <handlers>
            <handler name="REQUEST"/>
        </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="com.hp.autopassj">
        <level name="WARN"/>
    </logger>
    <logger category="org.jboss.as.server.deployment">
        <level name="ERROR"/>
    </logger>
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
</subsystem>

The documentation is very poor and says that i only need to put the parameter use-parent-handlers="false" but it does not work.

Additionaly, I also changed on my code org.apache.log4j.Logger to org.apache.commons.logging.Log with org.apache.commons.logging.LogFactory and had the same result, log outputs in both files (/Logs/requests.log or /Logs/alarms.log AND server.log).

My references: https://community.jboss.org/message/731527 http://commons.apache.org/logging/guide.html

Upvotes: 4

Views: 9063

Answers (1)

User2709
User2709

Reputation: 573

This is a very old thread but just in case anyone is looking for a solution to this problem. There is a typo in the property name, a missing 's'. Here is the property to set to get it working- use-parent-handler**s**=false

Upvotes: 7

Related Questions