1

さまざまなお客様のサイトのさまざまなWebLogicサーバー(9、10、および11)に一連のWARファイルとしてデプロイされるアプリケーションを配布しています。これらのアプリはcommons-loggingとlog4jを使用しています。アプリからログが生成されない特定のサイトを除いて、どこでも完全に機能します。そのサイトは11gであり、他の多数のOracleソフトウェア(BPEL、OSBなど)がインストールされています。

私たちのコードでは、以下を使用します。

public class Foo {

private final static Log log = LogFactory.getLog(Foo.class);

    public void bar () {
        log.trace("bar called");
        ...

お客様にログ構成を適応させたいので、サーバーCLASSPATHに構成フォルダーがあります。

CLASSPATH=/opt/app/domain_foo/foo_config/:....

そのフォルダーには、ログ用の2つのファイルcommons-logging.properties:

org.apache.commons.logging.Log org.apache.commons.logging.impl.Log4JLogger

そしてlog4j.properties:(これは同じ問題を抱えている単純化されたものです。実際のファイルにはさまざまなパラメーターを持つ5つのロガーが含まれています)

log4j.rootLogger=INFO, fileApp

# File appender
log4j.appender.fileApp=org.apache.log4j.RollingFileAppender
log4j.appender.fileApp.file=fooapp.log
log4j.appender.fileApp.maxFileSize=10240KB
log4j.appender.fileApp.maxBackupIndex=5
log4j.appender.fileApp.append=true
log4j.appender.fileApp.layout=org.apache.log4j.PatternLayout
log4j.appender.fileApp.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p %-70.70C %m%n

log4j.logger.be.foo=DEBUG

ファイルfooapp.logが作成されますが(プロパティファイルを見つけることができました)、空です。Weblogicでログ設定を確認しようとしましたが、動作しているサーバーと動作していないサーバーで同じように見えます。CLASSPATHをサーバーにコピーしましたが、まだ正常に機能しています。

もうどこを見ればいいのかわからない。何か案は ?

4

1 に答える 1

0

少しトリッキーですが、答えは APPLICATIONS_DIRECTORY/fooapp.log があるべきパスを指す APPLICATIONS_DIRECTORY という名前の環境にあります。System.getenv("APPLICATIONS_DIRECTORY"); からディレクトリの場所を取得できます。

于 2014-02-26T01:00:27.550 に答える