2016-08-15 9 views
1

私はプロジェクトでLog4jでSlf4jを使用しています。 MyClassクラスには、loglevelとlogpathの文字列値を含む変数と、appenderの名前を含むStringのリストがあります。私は、log4j.propertiesファイルで設定されているこれらの変数の値をプログラムでオーバーライドしたいと考えています。私が持っている問題は、変数LOGがタイプLog4jLoggerAdapterクラスであるということです。このクラスにはクラス変数はありません。また、ログレベル、ログパス、アペンダーの追加に使用できるセッターメソッドもありません。どんな助力も高く評価されます。Log4jLoggerAdapterクラスでログレベル、ログパス、アペンダーを追加する方法は?

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.stereotype.Component; 

Public class MyClass 
private static final Logger LOG = LoggerFactory.getLogger(MyClass.class); 

答えて

0

私はあなたがConfigurationFactoryが必要と思います。基礎となるlog4jを呼び出す前に、プログラムエントリポイントの早い段階で設定を構成する必要があります。

0

slf4jはさまざまなログフレームワークのファサードに過ぎません。したがって、ロギングフレームワークに関連する設定を変更するには、そのロギングフレームワークが提供するクラスを使用する必要があります。 log4jのために、あなたはlink

を参照して、ファイルのパスやその他の詳細について

org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(MyClass.class); 
LOG.setLevel(..); 

をしなければなりません

関連する問題