Java 将Log4J信息发送到数据库并调试到控制台?
我有com.mycompany.library* 我希望调试转到控制台,信息转到数据库。我怎样才能做到呢? 这是我的log4j.xml的一部分Java 将Log4J信息发送到数据库并调试到控制台?,java,log4j,Java,Log4j,我有com.mycompany.library* 我希望调试转到控制台,信息转到数据库。我怎样才能做到呢? 这是我的log4j.xml的一部分 使用此配置: 信息和调试转到控制台。但是,带有双条目的INFO和DUBUG也会转到DB 我希望数据库中的事件具有信息级别(或更高级别),而不是调试。如何做到这一点?您可以在附加器(而不是记录器)上设置treshold。例如: <appender name="std-out" class="org.apache.log4j.ConsoleAppe
使用此配置:
信息和调试转到控制台。但是,带有双条目的INFO和DUBUG也会转到DB
我希望数据库中的事件具有信息级别(或更高级别),而不是调试。如何做到这一点?您可以在附加器(而不是记录器)上设置treshold。例如:
<appender name="std-out" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">...</layout>
<param name="Threshold" value="info"/>
</appender>
编辑:您也不必在com.mycompany
记录器和根记录器上都设置appender。这就是为什么会有重复的条目,因为它们被视为加法(因此在com.mycompany
级别上,基本上有2个DB追加器)
只需在root上设置DBAppender并将其从com.mycompany
logger中删除即可。Yep。我加了一个到DBAppender。进入数据库的只有信息事件。但仍然使用此Logger和root配置,进入DB的是两个条目:(