Im working with JBoss AS 7.0.2.Final and there is no way to change it.
I tried to configure standalone.xml to create different log files for different categories. My problem is this: ouputs for each registrar are loaded correctly into the specified files, but also written to the server.log file.
There is my configuration for the entire logging subsystem:
<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 AS starts, the standalone.xml file is overwritten and replaces the logger tags without using the -parent-handlers = "false" attribute with nothing, setting the default behavior, 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 set the use-parent-handlers = "false" parameter, but it does not work.
Additionally, I also changed my org.apache.log4j.Logger code to org.apache.commons.logging.Log from org.apache.commons.logging.LogFactory and got the same result, the log outputs in both files (/ Logs / requests .log or /Logs/alarms.log and server.log).
My links: https://community.jboss.org/message/731527 http://commons.apache.org/logging/guide.html
source share