首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LOG4J加载多个log4j文件

LOG4J加载多个log4j文件
EN

Stack Overflow用户
提问于 2011-10-12 03:33:59
回答 1查看 517关注 0票数 0

对于每个事件,我的应用程序中有五个不同的log4j属性文件。我不希望应用程序使用DOM或PropertyConfigurator加载文件。但我希望将所有这些属性加载到Map中,事件名称作为键,properties或Logger作为值。因此,当我使用事件名调用getLogger方法时,将返回基于事件名的适当记录器对象。

这篇文章中的实现在某种程度上对我有帮助。log4j log file names?它们基于作业动态创建记录器对象。但我希望为每个事件使用静态log4j文件,并加载并返回它。

我也检查了这篇文章中的回复。multiple log4j instance configuration但是由于在我的应用程序中事件名称和每个事件的附加列表将是一个巨大的数字,为了更好地维护目的,我选择为每个事件选择一个log4j文件。

希望你能帮上忙。谢谢,Radhika

EN

回答 1

Stack Overflow用户

发布于 2011-10-12 16:45:39

对于定义的每个事件,我都有log4j文件。传递事件名称并使用属性配置器在上下文中加载特定于事件的log4j属性文件。然后,getLogger方法将拥有该记录器。

代码语言:javascript
复制
private static synchronized Logger getEventLogger(String eventName) {
Logger logger = null;
    try {

        logger = m_loggers.get(eventName);
        if (logger == null) {
            PropertyConfigurator.configure(eventName + ".properties");
            logger = Logger.getLogger(eventName);
            m_loggers.put(eventName, logger);

        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return logger;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7731476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档