如何配置jboss 7将日志写入不同的文件夹

时间:2012-03-28 15:16:05

标签: java logging jboss7.x

我正在使用Jboss 7.1.1,我有以下日志定义:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
        <console-handler name="CONSOLE">
            <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">
            <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"/>
            <append value="true"/>
        </periodic-rotating-file-handler>
        <size-rotating-file-handler name="ACEII">
            <level name="DEBUG"/>
            <formatter>
                <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="ACEII.log"/>
            <rotate-size value="10M"/>
            <max-backup-index value="10"/>
            <append value="true"/>
        </size-rotating-file-handler>
        <logger category="ace2" use-parent-handlers="false">
            <level name="DEBUG"/>
            <handlers>
                <handler name="ACEII"/>
            </handlers>
        </logger>
        <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="jacorb">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb.config">
            <level name="ERROR"/>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
    </subsystem>

我希望将ACE日志写入不同的文件夹,所以我尝试在relative-to属性中添加不同的值,但似乎没有任何效果,对于如何操作有什么想法?

5 个答案:

答案 0 :(得分:6)

您需要取消relative-to并在path属性中输入绝对路径。

    <size-rotating-file-handler name="ACEII">
        <level name="DEBUG"/>
        <formatter>
            <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/>
        </formatter>
        <file path="/var/log/myLogDir/ACEII.log"/>
        <rotate-size value="10M"/>
        <max-backup-index value="10"/>
        <append value="true"/>
    </size-rotating-file-handler>

您还可以通过添加配置路径来使用自己的相对路径。

在CLI中,您只需执行:/path=my.log.dir:add(path="/var/log")

如果您只想编辑xml,请添加以下内容。

<paths>
    <path name="my.log.dir" path="/var/log"/>
</paths>

如果要在默认日志目录中定义特定目录,则路径本身可以具有相对路径。

一旦定义了路径,就可以使用relative-to属性中给出路径的名称。

答案 1 :(得分:3)

这对我来说很好。

domain.sh -Djboss.server.log.dir="my custom logs dir"

答案 2 :(得分:1)

知道这是一个较旧的问题,但仍然发现它与JBOSS EAP 7相关

我发现詹姆斯在这里的反应很有见地 - https://developer.jboss.org/wiki/Wildfly82LogPathChange

我能够编辑standalone.conf并在那里指定自定义日志记录目录。

这也是一个domain.conf,可以针对域模式进行编辑。

只需将以下内容添加到文件末尾即可:

#Specify the log dir
JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=my custom logs dir"

据我所知,Windows可以更新.bat文件而不是.conf文件。

答案 3 :(得分:0)

找到答案:)

我正在使用Java服务包装器将Jboss作为Windows服务安装,并且该服务的配置文件位于某个路径中,所以我注意到如果我删除了relative-to属性,它会将日志写入配置文件所在的文件夹。

所有我必须这样做:

<size-rotating-file-handler name="ACEII">
            <level name="DEBUG"/>
            <formatter>
                <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/>
            </formatter>
            **<file path="../Log/ACEII.log"/>**
            <rotate-size value="10M"/>
            <max-backup-index value="10"/>
            <append value="true"/>
        </size-rotating-file-handler>

这对我有用。

答案 4 :(得分:0)

这就是我使用的;然后我使用logrotate处理日志轮换:

    <file-handler name="FILE" autoflush="true">
        <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"/>
        <append value="true"/>                                                                                                                             
    </file-handler>

显然,你可以修改它以满足你的需要。