我的应用程序中有五个不同的log4j属性文件用于每个事件。我不希望应用程序使用DOM或PropertyConfigurator加载文件。但是我想将所有这些属性加载到一个Map中,事件名称为键,属性或Logger作为值。因此,当我使用事件名称调用getLogger方法时,将返回基于事件名称的相应记录器对象。LOG4J加载多个log4j文件
本文中的实现在一定程度上对我有所帮助。 log4j log file names? 它们根据作业动态创建记录器对象。但我想为每个事件使用静态log4j文件并加载它并将其还原。
我也检查了这篇文章的回复。 multiple log4j instance configuration 但是,由于每个事件的事件名称和appender列表在我的应用程序中将是一个巨大的数字,为了更好的可维护性目的,我为每个事件选择一个log4j文件。
期待您的帮助。 谢谢, 拉迪卡
log4j确实不是为多个配置文件设计的。我建议你使用一个配置文件和多个记录器,每个事件一个。这将最大限度地减少您的长期维护,因为您不必维护定制版本的log4j或使用不属于公共API的类和方法。 –