0

Eclipse IDE と jboss サーバー (バージョン 5) を使用して Java Web アプリケーションを開発しています。次のコードを使用して、アプリケーションのカスタム ログ ファイルを実装しようとしています。

FileAppender fileAppender=new FileAppender(newPatternLayout(),Constant.LOGGER_PATH);
logger.addAppender(fileAppender);
BasicConfigurator.configure();
logger.setLevel(Level.ERROR);
logger.error(cause);

アプリケーションを jboss サーバーにデプロイしようとすると、次の例外が発生します。

    18:35:16,346 エラー [STDERR] log4j:エラー "org.jboss.logging.util.OnlyOnceError
    andler」オブジェクトは「org.apache.log4j.spi.ErrorHandler」変数に割り当てられません
    ル。
    18:35:16,346 ERROR [STDERR] log4j:ERROR クラス "org.apache.log4j.spi.ErrorHa
    dler」がロードされました
    18:35:16,346 エラー [STDERR] log4j:エラー [WebappClassLoader
      デリゲート: false
      リポジトリ:
        /WEB-INF/classes/
    ----------> 親クラスローダ:
    java.net.FactoryURLClassLoader@893918
    ] 一方、型のオブジェクト
    18:35:16,346 エラー [STDERR] log4j:エラー "org.jboss.logging.util.OnlyOnceErrorHa
    dler" は [org.jboss.system.server.NoAnnotationURLClassLoader@a32b] によってロードされました。
    18:35:16,377 ERROR [STDERR] log4j:ERROR アペンダーを作成できませんでした。報告
    エラーが続きます。
    18:35:16,377 エラー [STDERR] java.lang.ClassCastException: org.jboss.logging.app
    nder.DailyRollingFileAppender は org.apache.log4j.Appender にキャストできません
4

1 に答える 1

1

アプリケーションのディレクトリに log4j.jar バンドルの独自のコピーがあるようですlib。これは JBoss 自身のコピーと競合します。

ディレクトリからその JAR を削除してlib再試行してください。アプリは JBoss コピーを使用します。

于 2012-05-17T13:24:37.097 に答える