我在设置Wildfly-8.2.0的日志时感到困惑.最初我使用了我自己的日志系统,在WAR文件中内置log4j.xml,这些都很好.但是,当我对日志配置进行任何更改时,我需要重新部署应用程序以使更改生效.所以,我切换到JBoss记录器子系统.以下是我从jboss-cli到standalone.xml的配置
/subsystem=logging/custom-handler=myplatform:add(class=org.apache.log4j.RollingFileAppender,module=org.jboss.log4j.logmanager,formatter="%d{.yyyy-MM-dd} %-5p [%c] (%t) %s%E%n",properties={MaxFileSize=1024000,maxBackupIndex=20,file="${jboss.server.log.dir}/myplatform-debug.log"})
所以在standalone.xml中添加了以下配置
<custom-handler name="example" class="org.apache.log4j.RollingFileAppender" module="org.jboss.log4j.logmanager"> <formatter> <pattern-formatter pattern="%d{.yyyy-MM-dd} %-5p [%c] (%t) %s%E%n"/> </formatter> <properties> <property name="MaxFileSize" value="1024000"/> <property name="maxBackupIndex" value="20"/> <property name="file" value="${jboss.server.log.dir}/ott-platform-log.log"/> </properties> </custom-handler>
然后是一个记录器
<logger category="com.mycompany.project.module1"> <level name="DEBUG"/> <handlers> <handler name="myplatform"/> </handlers> </logger>
一切都很好,但是我的所有应用程序日志也登录到服务器日志中.而且,在控制台日志中也是如此.我不想这样做,毕竟我已经为我的项目分别配置了记录器!如何停止服务器日志我的日志登录到server.log?还是有一种方法来使用appender?如果是这样的话
解决方法
从“clean”standalone.xml中,我执行以下操作:
>向控制台添加一个处理程序:
<profile> <subsystem xmlns="urn:jboss:domain:logging:2.0"> ... <console-handler name="CONSOLE_HANDLER"> <level name="DEBUG"/> <formatter> <named-formatter name="ECLIPSE_PATTERN"/> </formatter> </console-handler> ...
>如果您希望日志文件:
<profile> <subsystem xmlns="urn:jboss:domain:logging:2.0"> ... <periodic-rotating-file-handler name="MI_PROJECT_FILE_HANDLER" autoflush="true"> <formatter> <named-formatter name="ECLIPSE_PATTERN"/> </formatter> <file relative-to="jboss.server.log.dir" path="myProject.log"/> <suffix value=".yyyy-MM-dd"/> <append value="true"/> </periodic-rotating-file-handler> ...
>记录器(与1和2相同的级别)注意到使用 – 父处理程序
<logger category="com.company.project" use-parent-handlers="false"> <level name="DEBUG"/> <handlers> <handler name="MI_PROJECT_FILE_HANDLER"/> <handler name="CONSOLE_HANDLER"/> </handlers> </logger>
>我使用了一个自定义模式(同级别):
<formatter name="ECLIPSE_PATTERN"> <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> </formatter>
>请确保:
<root-logger> <level name="INFO"/> <handlers> <handler name="CONSOLE"/> <handler name="FILE"/> </handlers> </root-logger>