java - How to log application auditing to separate file on Wildfly 8 -


i have java ee application running on wildfly 8 in want enable audit logging. using interceptorbinding , interceptor able catch relevant api calls.

what want write these audit calls separate audit log file. tried implementing using logback, , of second answer in this stackoverflow question managed this. first reply, i.e. disabling system logging, did not work. however, while solution writes audit trace separate file, other logging stopped being written default files , output console.

what want achieve have regular logging written regular file (i.e. server.log) default, have own custom audit log messages in separate file (also rolling on daily basis, renaming old file date written).

whether done logback, log4j, wildfly's own logging system or wildfly cli audit log, irrelevant long achieves purpose, minimal overhead. @ stage considering writing own file simple outputstream, feels rather superfluous when there solutions should more efficiently.

this logback file looks like:

<?xml version="1.0" encoding="utf-8"?> <configuration>     <appender name="audit-file" class="ch.qos.logback.core.rolling.rollingfileappender">         <file>/applications/wildfly/standalone/log/logback/audit/audit.log</file>         <rollingpolicy class="ch.qos.logback.core.rolling.timebasedrollingpolicy">             <filenamepattern>logfile.%d{yyyy-mm-dd}.log</filenamepattern>         </rollingpolicy>         <encoder>             <pattern>%d{hh:mm:ss.sss}: - %msg%n</pattern>         </encoder>     </appender>     <appender name="file" class="ch.qos.logback.core.rolling.rollingfileappender">         <file>/applications/wildfly/standalone/log/logback/server.log</file>         <rollingpolicy class="ch.qos.logback.core.rolling.timebasedrollingpolicy">             <filenamepattern>logfile.%d{yyyy-mm-dd}.log</filenamepattern>         </rollingpolicy>         <encoder>             <pattern>%d{hh:mm:ss.sss} %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>         </encoder>     </appender>     <logger name="audit" level="info" additivity="false">         <appender-ref ref="audit-file"/>     </logger>     <logger name="org.jboss.resteasy.core.exceptionhandler" level="all">         <appender-ref ref="file" />     </logger>     <root level="all">         <appender-ref ref="file"/>     </root> </configuration> 

i managed achieve wanted modifying standalone.xml file in wildfly. added custom file-handler , logger uses file-handler. no need custom logback implementation or that.

    <subsystem xmlns="urn:jboss:domain:logging:2.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="myhandler" autoflush="true">             <formatter>                 <named-formatter name="pattern"/>             </formatter>             <file relative-to="jboss.server.log.dir" path="application-audit.log"/>             <suffix value=".yyyy-mm-dd"/>             <append value="true"/>         </periodic-rotating-file-handler>         <logger category="com.mycompany.myapplication">             <level name="info"/>             <handlers>                 <handler name="myhandler"/>             </handlers>         </logger>         <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="org.jboss.security">             <level name="trace"/>         </logger>         <root-logger>             <level name="info"/>             <handlers>                 <handler name="console"/>                 <handler name="file"/>             </handlers>         </root-logger>         <formatter name="pattern">             <pattern-formatter pattern="%d{yyyy-mm-dd hh:mm:ss,sss} %-5p [%c] (%t) %s%e%n"/>         </formatter>         <formatter name="color-pattern">             <pattern-formatter pattern="%k{level}%d{hh:mm:ss,sss} %-5p [%c] (%t) %s%e%n"/>         </formatter>     </subsystem> 

Comments

Popular posts from this blog

java - Plugin org.apache.maven.plugins:maven-install-plugin:2.4 or one of its dependencies could not be resolved -

Round ImageView Android -

How can I utilize Yahoo Weather API in android -