如何将应用程序审核记录到Wildfly 8上的单独文件中

我有一个在Wildfly 8上运行的Java EE应用程序,我想在其中启用审计日志记录。 使用InterceptorBinding和Interceptor我能够捕获所有相关的API调用。

我想要做的是将这些审计调用写入单独的审计日志文件。 我尝试使用logback实现这一点,并在此stackoverflow问题的第二个答案的帮助下,我终于设法做到了这一点。 第一个回复,即禁用系统日志记录,不起作用。 但是,虽然此解决方案成功将我的审计跟踪写入单独的文件,但所有其他日志记录都停止写入其默认文件,并且仅输出到控制台。

我想要实现的是将所有常规日志记录默认写入常规文件(即server.log),但是将我自己的自定义审核日志消息放在单独的文件中(也可以每天滚动,重命名)旧文件到它写的日期)。

无论是使用Logback,log4j,Wildfly自己的日志记录系统,还是Wildfly CLI审核日志,都是无关紧要的,只要它达到目的,开销最小。 我正处于这个阶段,考虑使用简单的输出流将其写入我自己的文件中,但是当有解决方案应该更有效地执行此操作时,这感觉相当多余。

这是我的logback文件的样子:

   /Applications/wildfly/standalone/log/logback/audit/audit.log  logFile.%d{yyyy-MM-dd}.log   %d{HH:mm:ss.SSS}: - %msg%n    /Applications/wildfly/standalone/log/logback/server.log  logFile.%d{yyyy-MM-dd}.log   %d{HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n             

我终于通过修改Wildfly中的standalone.xml文件来实现我想要的目标。 我添加了一个使用此文件处理程序的自定义文件处理程序和记录程序。 不需要自定义的logback实现或类似的东西。