2

log4j が出力する理由:

17:58:30,623 INFO  [stdout] (http--127.0.0.1-8080-5)

完全なメッセージは次のとおりです。

17:58:30,623 INFO  [stdout] (http--127.0.0.1-8080-5) 2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message

JBoss AS7 を使用しており、次のように log4j を除外しています。

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

そして私log4j.propertiesは:

log4j.rootLogger=INFO, CA

log4j.appender.CA=org.apache.log4j.ConsoleAppender

log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n

メッセージを次のように印刷したい:

2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message

どうすればいいですか?

4

1 に答える 1

4

これは、JBoss STDIO が stdout と stderr をラップし、log4jConsoleAppenderが stdout に出力されるためです。

log4j.properties ファイルを使用する代わりに、ロギング サブシステムを構成することで、同じことを実行できます。ロギング サブシステムを使用しても、.xml の依存関係を除外する理由はありませんjboss-deployment-structure.xml

<subsystem xmlns="urn:jboss:domain:logging:1.1">

    <console-handler name="CONSOLE">
        <level name="INFO"/>
        <formatter>
            <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n"/>
        </formatter>
    </console-handler>

    <!-- other handlers and loggers -->

    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
        </handlers>
    </root-logger>
</subsystem>
于 2012-12-10T16:12:15.397 に答える