Java apachecommons日志的编程配置
我想在我的Java项目中包括一个外部库,这个库特别使用ApacheCommons日志记录将消息写入日志记录系统。库写入了大量级别为“info”的消息,导致日志中出现大量无用条目Java apachecommons日志的编程配置,java,logging,apache-commons-logging,Java,Logging,Apache Commons Logging,我想在我的Java项目中包括一个外部库,这个库特别使用ApacheCommons日志记录将消息写入日志记录系统。库写入了大量级别为“info”的消息,导致日志中出现大量无用条目 我的应用程序应该在共享环境中部署和执行(例如,tomcat或jetty)。我的问题是,如果我不能依赖属性/xml配置文件,那么我必须为这个库配置什么选项呢?Apache Commons日志记录并不是一个真正的日志记录库,它只是一个委托给底层日志记录库(如Log4J或java.util.Logging)的外观。因此,首先你
我的应用程序应该在共享环境中部署和执行(例如,tomcat或jetty)。我的问题是,如果我不能依赖属性/xml配置文件,那么我必须为这个库配置什么选项呢?Apache Commons日志记录并不是一个真正的日志记录库,它只是一个委托给底层日志记录库(如Log4J或
java.util.Logging
)的外观。因此,首先你必须发现你实际使用的是哪个库。根据具体情况,应用不同的配置选项
我的建议是添加replace
commons logging.jar
,然后使用您想要的框架。Apache commons logging实际上不是一个日志库,它只是一个外观,委托给底层日志库,如Log4J或java.util.logging
。因此,首先你必须发现你实际使用的是哪个库。根据具体情况,应用不同的配置选项
我的建议是添加replace
commons logging.jar
,然后使用您想要的框架。为什么您不能使用用户属性或xml配置?我的应用程序是更大平台的一部分。应该从日志服务器获取日志系统,根据规则进行调整,而不会造成任何问题。为什么您不能使用用户属性或xml配置?我的应用程序是更大平台的一部分。应该从日志服务器获取日志系统,根据规则进行调整,不会造成任何问题。我建议查看SLF4J实现的LogBack。SLF4J和JCL之间存在不匹配。在JCL(和Log4J)中,记录的对象是java.lang.object,但在SLF4J(和Logback)中,记录的对象是java.lang.String。如果他使用JCL将对象传递给监听器,那么通过使用SLF4J桥,他将丢失对象(桥中调用了String.valueOf()。@AmirPashazadeh:很有趣,但这不是每个日志框架最终都要做的吗?我的意思是在对象上调用.toString()
?SLF4J桥看起来很有希望,我会尝试一下,我会回到这个论坛让你知道。我建议查看SLF4J实现的LogBack。SLF4J和JCL之间存在不匹配。在JCL(和Log4J)中,记录的对象是java.lang.object,但在SLF4J(和Logback)中,记录的对象是java.lang.String。如果他使用JCL将对象传递给监听器,那么通过使用SLF4J桥,他将丢失对象(桥中调用了String.valueOf()。@AmirPashazadeh:很有趣,但这不是每个日志框架最终都要做的吗?我的意思是在对象上调用.toString()
?SLF4J桥看起来很有希望,我会尝试一下,我会回到这个论坛让你知道。