Ho un'applicazione Java EE in esecuzione su Wildfly 8 in cui desidero abilitare la registrazione di controllo. Utilizzo di InterceptorBinding e Interceptor Sono in grado di catturare tutte le chiamate API pertinenti.Come registrare il controllo dell'applicazione per separare il file su Wildfly 8
Quello che voglio fare è scrivere queste chiamate di controllo in un file di registro di controllo separato. Ho provato a implementarlo utilizzando il logback e con l'aiuto della seconda risposta in this stackoverflow question sono finalmente riuscito a farlo. La prima risposta, vale a dire la disabilitazione della registrazione del sistema, non ha funzionato. Tuttavia, mentre questa soluzione scrive correttamente la traccia di controllo su un file separato, tutte le altre registrazioni hanno smesso di essere scritte nei loro file predefiniti e sono state inviate alla console.
Ciò che voglio ottenere è che tutto il normale log sia scritto sul file regolare (es. Server.log) com'è di default, ma per avere i miei messaggi di log di controllo personalizzati in un file separato (che rotola anche su un ogni giorno, rinominando il vecchio file alla data in cui è stato scritto).
Se ciò viene eseguito con Logback, log4j, il proprio sistema di registrazione di Wildfly o anche il log di controllo Wildfly CLI, è irrilevante fintanto che raggiunge lo scopo, con un sovraccarico minimo. In questa fase, sto pensando di scriverlo nel mio file con un outputstream semplice, ma mi sembra piuttosto superfluo quando ci sono soluzioni che dovrebbero farlo in modo molto più efficiente.
Questo è ciò che il mio file logback assomiglia:
<?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>