根据类名称JBoss AS 7.0.0将日志重定向到特定文件

时间:2016-08-16 11:10:43

标签: java logging jboss log4j jboss7.x

我想根据特定的类名分隔日志,就像类名是

一样
    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 文件?

1 个答案:

答案 0 :(得分:0)

我转向更高版本的Jboss即。 7.1.1为了解决这个问题,但在寻找解决另一个问题后遇到很多麻烦我找到了一个有效的解决方案 Here用于Same 7.0.0版本 引自Thread的回答

  

你需要明确告诉JBoss容器你的网站   应用程序需要log4j。您可以通过添加以下行来完成此操作   进入/META-INF/MANIFEST.MF

     

依赖项:org.apache.log4j

依赖项:org.apache.log4j

感谢该线程的原始撰稿人。