0

Weblogic 11g、EJB3.0 を使用しています。

私はこの問題に何週間も苦労しています。

いくつかの展開があります(ステートレス Bean)。

それぞれに独自の log4j jar (log4j-1.2.15.jar) があり、それぞれに独自の log4j.properties があります。

問題は、ログ (デバッグ/エラー/情報など) に書き込むと、すべての展開からのすべてのログが同じログ ファイルに書き込まれることです。

展開で独自の唯一ログ ファイル (log4j.properties で構成されている)に書き込む必要があるため、これは面倒です。

これは私の log4j.properties ファイルです:

log4j.rootCategory=デバッグ、R

log4j.appender.R=org.apache.log4j.RollingFileAppender

次の行には、プロジェクトごとに異なるパスと名前があります。

log4j.appender.R.File=D\:\bea11\user_projects\domains\base_domain\autodeploy\MyProject\logs\MyProject.log

log4j.appender.R.MaxFileSize=8192KB

log4j.appender.R.MaxBackupIndex=100

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %p %m%n

log4j.logger.org.hibernate=info

log4j.logger.org.hibernate.SQL=デバッグ

log4j.logger.org.hibernate.type=info

log4j.logger.org.hibernate.tool.hbm2ddl=info

log4j.logger.org.hibernate.cache=info

私のプロジェクトは、Myeclipse で 3 つの依存関係に分割されています。

プロジェクト名

プロジェクト名EJB

プロジェクト名Web

展開されたアーカイブとしてWeblogicにインストールしました

jar は、次のディレクトリ パスの下にあります: ProjectName/ear/app-inf/lib/log4j-1.2.15.jar

およびルート ディレクトリの下にある log4j.properties: ProjectName/log4j.properties

ありがとう、レイ

4

2 に答える 2

1

app-inf/classes の下にある properties.xml を見つける必要があります

app-inf/lib の下の log4j.jar

server/lib ディレクトリの下に log4j.jar がないことを確認してください。

于 2011-07-04T11:42:21.067 に答える
0

@rayman: 最初に weblogic コンソールでプロジェクトのクラスローディング ポリシーを確認する必要があります...それらが Logger クラスの同じクラスローダーを共有している場合 (クラスはクラスローダーごとに一意であるため)、次を使用してロガーの同じインスタンスを使用します同じ構成... ...ある時点で各アプリケーションで以下を呼び出すことにより、ロガーが使用するファイルの場所を出力することもできます:-

((org.apache.log4j.RollingFileAppender)org.apache.log4j.Logger.getRootLogger().getAppender("R") ).getFile()
于 2011-07-04T11:44:37.203 に答える