什么是使用EJB 3.0初始化log4j的最佳方法?

时间:2012-01-12 11:50:34

标签: java log4j ejb-3.0 slf4j java-ee-5

我有一个只有EJB(EJB3.0)且没有WAR模块的EAR,服务器是基于linux的JBOSS 4.3。

我想用服务器外部的log4j.properties文件初始化LOG4J,并使用slf4j作为外观。

初始化log4j的最佳方法是什么?

提前致谢

1 个答案:

答案 0 :(得分:-1)

我在Startup中初始化并将log4j放在META-INF文件夹中。并且只使用没有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();
        }
    }
}
相关问题