首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将log4j 2配置文件放在使用slf4j封装的第三方框架的类路径上?

如何将log4j 2配置文件放在使用slf4j封装的第三方框架的类路径上?
EN

Stack Overflow用户
提问于 2015-07-30 20:26:33
回答 2查看 2.6K关注 0票数 1

我的Eclipse应用程序包括一个封装第三方框架的插件。这个框架是一个纯OSGi系统,使用SLF4J。我自己的应用程序使用log4j 2,它工作得很好。第三方框架似乎承认“我的”log4j 2很好,但是触发了通常的ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.消息。

将log4j2.xml文件添加到src/main/resources文件夹(是的,并将其添加到构建中)没有任何效果。

如何为第三方框架的SLF4J实例提供配置文件?我认为我无法访问它的类路径,我希望避免设置log4j.configurationFile系统属性。后者主要是因为我不知道如何让它指向相对于我的应用程序主页的文件夹,这里的提示可能只是我想要的解决方案。将属性设置为绝对路径可以很好地工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-31 08:59:35

在重新考虑为log4j 2配置文件设置系统属性时,我找到了一个相对简单的解决方案。

当我在我的应用程序入口(核心)插件的Activatorstart方法中包括以下内容时,它工作得很好,也就是说,在我可以访问相对于我的应用程序启动程序的路径的地方,以编程方式设置系统属性。注意,核心插件的配置文件没有问题,只有第三方框架。

代码语言:javascript
复制
// Configure log4j2 configuration file to be found
System.setProperty("log4j.configurationFile",
    getBundle().getResource("log4j2.xml").getPath());
票数 2
EN

Stack Overflow用户

发布于 2015-07-31 06:54:06

试一试

代码语言:javascript
复制
String fileName = "config/log4j2.xml";
Configurator.initialize(null, fileName);

对SJLF来说

https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/index.html

只需在类路径中包含log4j-slf4j-impl-2.0.jar

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31733406

复制
相关文章

相似问题

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