2012-11-30 57 views
0

我想在我的Java项目中包含一个外部库,并且此库特别使用Apache Commons Logging将消息写入日志记录系统。该库编写了大量级别为“info”的消息,导致日志中出现大量无用的条目。Apache Commons Logging的编程配置

我的应用程序应该在共享环境(例如,tomcat或jetty)中部署和执行。我的问题是,如果我不能依赖properties/xml配置文件,我有什么选项可以配置此库的日志级别?

+0

为什么你不能用户属性或XML配置? –

+0

我的应用程序是更大平台的一部分。应该从日志服务器获取日志系统,根据规则进行调整并且不会造成任何麻烦。 – Erik

回答

3

Apache Commons Logging不是一个真正的日志库,它只是一个代表底层日志库的外观,如Log4J或java.util.logging。所以首先你必须发现你使用的是哪个库实际上是。取决于适用的不同配置选项。

我的建议是添加替换commons-logging.jarSLF4J bridge,然后使用任何你想要的框架。

+1

我建议看一下SLB4J实现的LogBack。 – GreyBeardedGeek

+0

SLF4J和JCL之间存在不匹配。在JCL(和Log4J)中,记录的对象是一个java.lang.Object,但在SLF4J(和Logback)中它是一个java.lang.String。如果他使用JCL将对象传递给侦听器,则通过使用SLF4J桥丢失对象(在桥中调用String.valueOf())。 –

+0

@AmirPashazadeh:有趣,但是这不是最终每个日志框架必须做什么吗?我的意思是在对象上调用'.toString()'? –

相关问题