2016-07-27 22 views
0

私はweblogicで動作するようにslf4jでlog4jを設定し、Webモジュールとejbで耳のアプリのログを管理しようとしています。 Webモジュールは設定したログファイルにメッセージを出力しますが、ejbはそのメッセージを表示しません。 ejbに設定ファイルが表示されず、log4jが初期化されないようです。weblogicの下で耳にlog4jを使用する12c

--APP-INF 
    --LIB 
    --log4j-1.2.17.jar 
    --slf4j-api-1.7.5.jar 
    --slf4j-log4j12-1.7.5.jar 
    --classes 
    --log4j.xml 
--META-INF 
EJB.JAR 
WEB.WAR 

と耳のAPP-INF/classesフォルダにある設定ファイル(のlog4j.xml):文書やその他から

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration PUBLIC 
    "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> 
<log4j:configuration debug="true" 
    xmlns:log4j='http://jakarta.apache.org/log4j/'> 

     <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
      </layout> 
    </appender> 


    <appender name="file" class="org.apache.log4j.RollingFileAppender"> 
     <param name="append" value="false" /> 
     <param name="maxFileSize" value="1000KB" /> 
     <param name="maxBackupIndex" value="5" /> 
     <param name="file" value="/shared_ISILON_WLS/AppLogs/project/project.log" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
     </layout> 
    </appender> 

    <appender name="fileSQL" class="org.apache.log4j.RollingFileAppender"> 
     <param name="append" value="false" /> 
     <param name="maxFileSize" value="1000KB" /> 
     <param name="maxBackupIndex" value="5" /> 
     <param name="file" value="/shared_ISILON_WLS/AppLogs/project/project_SQL.log" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
     </layout> 
    </appender> 

    <logger name="es.project"> 
     <level value="INFO" /> 
     <appender-ref ref="file" /> 
    </logger> 
     <logger name="org.primefaces"> 
      <level value="INFO" /> 
      <appender-ref ref="file" /> 
     </logger> 
    <logger name="org.eclipse.persistence"> 
      <level value="INFO"/> 
      <appender-ref ref="fileSQL" />  
     </logger> 

</log4j:configuration> 

耳は、この構造を持っています私がチェックした設定ファイルは、ejbモジュールから読み込む必要がありますか? モジュール内に他の設定ファイルがないことも確認しました。 設定ファイルを見るためにejbモジュール用に設定するものは何ですか?

+0

これを解決できましたか?私は全く同じ問題があります。 – donlys

+0

私はこれを ' com.oracle.foo 'をejb weblogic.xmlに追加します。うまくいきたいです – xacy

答えて

0

log4j.xmlファイルがEJB jarのクラスパスで使用可能であることを確認する必要があります。あなたはそれがそこにいることを確認するために瓶のマニフェストを見ることができます。クラスパスに存在すると、自動的に読み込まれます。

+0

ejb jar:manifest.mfに 'Class-Path:APP-INF/classes/log4j.xml'を追加しましたが、結果はありません。それは、とにかくejbのlog4jで起こっていることをデバッグするためにそこにありますか? – xacy

0

app.ear/APP-INF/classesディレクトリにlog4j.xmlファイルを追加してくれました。あなたはシステムを使い果たしていますか?あるクラスパスに別のlog4j.xmlがあり、org.hiberante用のロガーを定義し、別の場所にログを書き込んでいるかもしれません...

関連する問題