【发布时间】:2016-08-16 11:10:43
【问题描述】:
我想根据特定的类名来分隔日志,比如类名是
package com.task;
public class MyService {
/**
* Logger.
*/
private static final Logger LOGGER = Logger.getLogger(MyService.class);
然后所有的日志都应该被重定向到在 JBoss standalone.xml 文件中针对此类名称注册的文件,例如我已经这样做了
<subsystem xmlns="urn:jboss:domain:logging:1.0">
<console-handler name="CONSOLE" autoflush="true">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
</periodic-rotating-file-handler>
<periodic-rotating-file-handler name="MY_LOG" autoflush="true">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="my_log.log"/>
<suffix value=".yyyy-MM-dd"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="com.task.MyService">
<level name="DEBUG"/>
<handlers>
<handler name="MY_LOG"/>
</handlers>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
</subsystem>
正在创建名为 my_log.log 的日志文件,但日志不会重定向到该文件,默认情况下它们仍会覆盖 server.log 文件。
我如何从这个 MyService.class 记录语句以仅写入 my_log.log 文件?
【问题讨论】:
标签: java logging jboss log4j jboss7.x