1

別のログ ファイルを追加しましたが、Java コード内からどのようにアクセスするのか疑問に思っていました。何も見つかりません。

ユーザー アクション用に別のログ ファイルが必要です。

JBOSS AS 7.1.1 用のstandalone.xml は次のとおりです。

    <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="USER" autoflush="false">
            <level name="ALL"/>
            <file relative-to="jboss.server.log.dir" path="user.log"/>
            <rotate-size value="50m"/>
            <append value="true"/>
        </size-rotating-file-handler>
        <logger category="user" use-parent-handlers="false">
            <level name="ALL"/>
            <handlers>
                <handler name="USER"/>
            </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>

私はそれに次のように書き込もうとしています:

import org.jboss.logging.Logger;
Logger logger = Logger.getLogger("USER");
logger.info("user did something");

起動時に user.log を作成しますが、引き続き server.log に書き込みます。

4

1 に答える 1

0

カテゴリが一致しません。構成では、ロガー カテゴリをuser(小文字) として定義します。コード例では、カテゴリをUSER(大文字) として定義します。一致するようにカテゴリを変更すると、機能します。

<subsystem xmlns="urn:jboss:domain:logging:1.1">
    ...
    <size-rotating-file-handler name="USER" autoflush="false">
        <level name="ALL"/>
        <file relative-to="jboss.server.log.dir" path="user.log"/>
        <rotate-size value="50m"/>
        <append value="true"/>
    </size-rotating-file-handler>
    <logger category="USER" use-parent-handlers="false">
        <level name="ALL"/>
        <handlers>
            <handler name="USER"/>
        </handlers>
    </logger>
    ...
</subsystem>
于 2012-08-23T16:14:13.690 に答える