我在设置Wildfly-8.2.0中的日志时感到困惑。最初我使用了自己的日志记录系统,在WAR文件中内置了log4j.xml,一切都运行得很好。但是,当我对日志配置进行任何更改时,我需要重新部署应用程序以使更改生效。所以,我切换到了JBoss记录器子系统。以下是我对standalone.xml
jboss-cli
所做的配置
/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?如果是这样的话?
答案 0 :(得分:21)
来自&#34;清洁&#34; 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>
...
use-parent-handlers
<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>