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

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

我有一个 EAR,它只有 EJB (EJB3.0),没有 WAR 模块,服务器是 Linux 上的 JBOSS 4.3。

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

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

提前致谢

最佳答案

我已经在启动中初始化并将log4j放入META-INF文件夹中。并且只使用log4j而不使用Slf4j。 (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();
        }
    }
}

关于java - 使用 EJB 3.0 初始化 log4j 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8834610/

相关文章:

java - 使用 JPA EntityManager 进行批量插入

java - 在 Transport.send(message) 上获取 ParseException

java - 小程序执行无法执行打包在可执行jar内的批处理文件

java - 我如何在 Grails 中生成数据库表?

java - SyslogAppender 不工作

java - 如何在 Maven 构建期间删除/排除 Log4j?

java - 我的 Android 应用程序中出现 IOException

java - 正则表达式在 csv 字符串中查找值

java - 为什么我会收到我收到的错误?

jakarta-ee - 如何在ejb 3.0中实现缓存?