mpssantos
mpssantos

Reputation: 1001

Wildfly Logging - How to prevent application log to be logged to serve.log

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

Answers (1)

mpssantos
mpssantos

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

Related Questions