Как записать аудит приложения в отдельный файл на Wildfly 8
У меня есть приложение Java EE, работающее на Wildfly 8, в котором я хочу включить ведение журнала аудита. Используя InterceptorBinding и Interceptor, я могу перехватывать все соответствующие вызовы API.
Я хочу записать эти вызовы аудита в отдельный файл журнала аудита. Я попытался реализовать это с помощью logback, и с помощью второго ответа вэтот вопрос Мне наконец удалось это сделать. Первый ответ, то есть отключение регистрации системы, не сработал. Однако, хотя это решение успешно записывает мою контрольную трассировку в отдельный файл, все остальные журналы перестали записываться в их файлы по умолчанию и выводились только на консоль.
Чего я хочу добиться, так это чтобы все обычные записи в журнал записывались в обычный файл (то есть server.log), как это делается по умолчанию, но иметь собственные сообщения журнала аудита в отдельном файле (также меняются ежедневно, переименовываясь). старый файл на дату его написания).
Делается ли это с Logback, log4j, собственной системой ведения журнала Wildfly или даже с журналом аудита CLI Wildfly, не имеет значения, пока оно достигает цели, с минимальными издержками. На данном этапе я рассматриваю возможность записи его в свой собственный файл с простым выходным потоком, но это кажется излишним, когда есть решения, которые должны сделать это гораздо более эффективно.
Вот как выглядит мой файл logback:
<?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>