我想根据特定的类名分隔日志,就像类名是
一样 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 文件?
答案 0 :(得分:0)
我转向更高版本的Jboss即。 7.1.1为了解决这个问题,但在寻找解决另一个问题后遇到很多麻烦我找到了一个有效的解决方案 Here用于Same 7.0.0版本 引自Thread的回答
你需要明确告诉JBoss容器你的网站 应用程序需要log4j。您可以通过添加以下行来完成此操作 进入/META-INF/MANIFEST.MF
依赖项:org.apache.log4j
依赖项:org.apache.log4j
感谢该线程的原始撰稿人。