4

スタンドアロン モードで jboss を 7 として使用しています。アプリで春を使用しています。アプリを実行すると、サーバー ログに次のエラーが表示されます。

17:40:19,669 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
17:40:19,671 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly.  

したがって、次のようにロガーを追加して jboss を構成しました。

        <logger category="org.springframework.core.env.StandardEnvironment">
            <level name="DEBUG"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
                <handler name="TESTFILE"/>
            </handlers>
        </logger>  

ハンドラ CONSOLE は次のように定義されています。

    <console-handler name="CONSOLE" autoflush="true">
        <level name="DEBUG"/>
        <formatter>
            <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
    </console-handler> 

しかし、それを行った後でも同じエラーが発生し続けるのはなぜですか?

解決:

欠落している部分は、アプリケーションがloggingそのディレクトリにある (log4j) として jbossのサブシステムをmodulesより正確に使用する必要があることを示すことでしたorg/apache/log4jjboss-deployment-structure.xmlこれは、以下を含むファイルを WEB-INF に追加することによって行われます。

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

1 に答える 1

0

構成でアペンダーを定義する必要があります。

<appender name="springFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="../logs/spring.log" />
    <param name="datePattern" value="yyyy-MM-dd" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{dd-MM-yyyy kk:mm:ss.SSS} %-5p %c %x - %m%n" />

    </layout>
</appender>

次に、ロガーから参照します。

<logger name="org.springframework.beans" additivity="true">
    <level value="info" />
    <appender-ref ref="springFileAppender" />
</logger>

この構成は、ファイル ../logs/spring.log に INFO のしきい値で Spring Beans モジュールからのすべてを記録します。

編集:なるほど、JBOSSでlog4Jを使用しています!

次に、ハンドラーを定義する必要があります(私の例のアペンダーのように)。

これに似たもの:

 <periodic-rotating-file-handler name="FILE">
            <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="server.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="false"/>
    </periodic-rotating-file-handler>
于 2013-04-19T19:25:44.843 に答える