2012-01-12 5 views
3

私はEJB(EJB3.0)のみを持ち、WARモジュールを使用していないEARを持っています。サーバはJBossS 4.3以上のLinuxです。EJB 3.0でlog4jを初期化する最も良い方法は何ですか?

LOG4Jをサーバー外のlog4j.propertiesファイルで初期化し、slf4jをファサードとして使用したいとします。

私のlog4jを初期化する最良の方法は何ですか?私はスタートアップで初期化し、META-INFフォルダ内のlog4jを入れている事前

答えて

-1

感謝。そして、Slf4jなしでlog4jを使うだけです。 (EJB 3.1)

以下のコードが役に立ちます。

import org.apache.log4j.BasicConfigurator; 
import org.apache.log4j.Logger; 
import org.apache.log4j.PropertyConfigurator; 

@Singleton 
@Startup 
public class InitClass { 

@PostConstruct 
private void log4jIlkle() { 
     String log4jProp = yourlog4jPath;//My path definition maybe put more flexible path: "../applications/DeployName/META-INF/log4j.properties"; 
     File logFile = new File(log4jProp); 
     if (logFile.exists()) { 
      System.out.println("Log4j init: " + log4jProp); 
      PropertyConfigurator.configure(log4jProp); 
     } 
     else { 
      System.err.println("*** " + log4jProp + " file not found, initialize with default settings"); 
      BasicConfigurator.configure(); 
     } 
    } 
} 
+0

これは、問題のEJB 3.0ではなくEJB 3.1でのみ機能します。 – fnt

+0

アイデアはただ –

+0

与えることでしたEJB 3.0のアイデアは役に立たないです。 – fnt

関連する問題