1
votes

Hi I have to create two log files for EJB application deployed in wildfly 10 server,first one is default one server.log along with that i want create one more log file lets say server_short.log, in this file i don't want full stack trace of exception messages, but the problem is happening that exception is writing by the internal interceptor and other jvm configuration files to the log file , so is there any to disable jvm stack trace for second log file? or any other way to accomplish this

<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">
                <level name="INFO"/>
                <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="SHORTFILE" autoflush="true">
                <level name="INFO"/>
                <formatter>
                    <named-formatter name="PATTERN"/>
                </formatter>
                <file relative-to="jboss.server.log.dir" path="server_short.log"/>
                <suffix value=".yyyy-MM-dd"/>
                <append value="true"/>
                <error-manager>
                 <only-once/>
                </error-manager
            </periodic-rotating-file-handler>                       

            <logger category="com.arjuna">
                <level name="WARN"/>
            </logger>
            <logger category="org.jboss.as.config">
                <level name="DEBUG"/>
            </logger>
            <logger category="sun.rmi">
                <level name="WARN"/>
            </logger>     

            <root-logger>    
                <level name="INFO"/>            
                <handlers>
                    <handler name="CONSOLE"/>
                    <handler name="FILE"/>
                    <handler name="SHORTFILE"/>
                </handlers>
            </root-logger>
            </formatter>
        </subsystem>

should generate simple exception message without full stacktrace both log file is identical

1

1 Answers

0
votes

If you don't want exceptions to be logged in the SHORTFILE you need to use a different format pattern.

As an example here are two CLI commands to create a new pattern and add the file handler.

/subsystem=logging/pattern-formatter=SHORT_PATTERN:add(pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%n")
/subsystem=logging/periodic-rotating-file-handler=SHORTFILE:add(level=INFO, named-formatter=SHORT_PATTERN, suffix=".yyyy-MM-dd", append=true, file={relative-to=jboss.server.log.dir, path="server_short.log"})

One thing I did notice is the XML you've got does not look correct either.