Reputation: 1001
I am trying to separate the logs by application. standalone.xml come with a pre-configured log for console and file. I created a file-handler for my application and the respective logger. But the logs are being logged in my application.log and the server.log.
I confirmed that my webapp does not contain the log4j.jar
Can anyone let me know how to prevent the log4j to log for the server.log and only log to the respective application log file?
Thank you very much!
-- Web application server: Wildfly 9.0.1
-- standalone.xml code
<subsystem xmlns="urn:jboss:domain:logging:3.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</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="SECVALFILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="securityvalidation.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="jacorb.config">
<level name="ERROR"/>
</logger>
<logger category="com.oracle.securityvalidation">
<level name="DEBUG"/>
<handlers>
<handler name="SECVALFILE"/>
</handlers>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
......
Upvotes: 0
Views: 2486
Reputation: 1001
I already found the issue.
By default, the parent logger will process any message. we can use the logger attribute "use-parent-handlers" to specify if whether or not the message should be processed by the parent logger
Thank you so much anyway!
<logger category="com.oracle.securityvalidation" use-parent-handlers="false">
<level name="DEBUG"/>
<handlers>
<handler name="SECVALFILE"/>
</handlers>
Upvotes: 2