Ich habe eine Java EE-Anwendung auf Wildfly 8, in der ich die Überwachungsprotokollierung aktivieren möchte. Mit einem InterceptorBinding und Interceptor kann ich alle relevanten API-Aufrufe abfangen.So protokollieren Sie die Anwendungsüberwachung in einer separaten Datei auf Wildfly 8
Ich möchte diese Audit-Aufrufe in eine separate Audit-Protokolldatei schreiben. Ich habe versucht, dies mit Logback zu implementieren, und mit Hilfe der zweiten Antwort in this stackoverflow question habe ich es endlich geschafft. Die erste Antwort, d.h. das Deaktivieren der Systemprotokollierung, hat nicht funktioniert. Während diese Lösung jedoch erfolgreich meinen Audit-Trace in eine separate Datei schreibt, wurden alle anderen Logs nicht mehr in ihre Standarddateien geschrieben und nur in die Konsole ausgegeben.
Was ich erreichen möchte ist, dass die gesamte reguläre Protokollierung in die reguläre Datei (dh server.log) geschrieben wird, wie es standardmäßig ist, aber meine eigenen benutzerdefinierten Protokollnachrichten in einer separaten Datei haben (auch auf einer auf täglicher Basis und benennt die alte Datei in das Datum um, an dem sie geschrieben wurde.
Ob dies mit Logback, log4j, Wildflys eigenem Logging-System oder sogar mit dem Wildfly CLI-Audit-Log erledigt wird, spielt keine Rolle, solange es den Zweck mit minimalem Aufwand erfüllt. Ich bin in diesem Stadium daran, es mit einem einfachen Ausgabestrom in meine eigene Datei zu schreiben, aber das ist ziemlich überflüssig, wenn es Lösungen gibt, die das viel effizienter machen sollten. Diese
ist, was meine logback Datei wie folgt aussieht:
<?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>