[英]log4j not logging info level
运行应用程序时,log4j.xml文件中包含以下内容。 在控制台中仅打印错误日志,不打印信息日志。 但是如果我注释掉jdbcAppender部分,仅使用
我想同时打印错误和信息,同时需要将错误日志插入数据库表错误中。
我怎样才能做到这一点?
问候
<appender name="jdbcAppender" class="bean.CustomJdbcAppender">
<param name = "jndiDataSource" value="myjdbcDS"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO errors (log_level, location, message) VALUES ( '%p',
'%C;%L', '%m' )"
/>
</layout>
</appender>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ISO8601} %p (%C;%L) %m%n"
/>
</layout>
</appender>
<category name="bean"><priority value="error"/>
<appender-ref ref="jdbcAppender"/>
</category>
<root>
<priority value="info"/>
<appender-ref ref="STDOUT"/>
</root>
从记录器bean
除去ERROR
优先级,以便其记录级别从设置为INFO
级别的根记录器继承。 然后,来自该记录器的任何级别大于或等于INFO
记录事件都可以被拦截,并转发给jdbcAppender
和STDOUT
。
<category name="bean">
<appender-ref ref="jdbcAppender"/>
</category>
要仅限制ERROR
级别的事件可以通过实际登录jdbcAppender
,应用和配置LevelMatchFilter
和DenyAllFilter
在jdbcAppender
<appender name="jdbcAppender" class="bean.CustomJdbcAppender">
<param name = "jndiDataSource" value="myjdbcDS"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO errors (log_level, location, message) VALUES ( '%p','%C;%L', '%m' )" />
</layout>
<filter class="org.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="error" />
<param name="AcceptOnMatch" value="true"/>
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter" />
</appender>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.