Please help me Filtering out Third Party Logging f

2019-02-15 14:24发布

问题:

I am using Third Party jars which are appending their own logs in my Java Application's Log file , I don't want to append those third party logs in my log file as it makes log file very clumsy and confusing.

I know this method, log4j.logger.org.springframework.jdbc.core.JdbcTemplate=OFF to turn off the logging in this particular package org.springframework.jdbc.core.JdbcTemplate in my lo4j.properties, but the problem is I have many such jars added in my application and hence , want to avoid writing manually for each package associated with the jar.

Also if any new jars are added again I have to append this configuration in my log4j.properties file.

回答1:

you can takedown whole librabries as in

log4j.logger.org.springframework=OFF

or you can turn off logging for the root logger itself and enable it for classes/packages of your interest

log4j.rootLogger=OFF
log4j.logger.com.your-package=DEBUG, yourappender

this will enable DEBUG logging for all subpackages and classes under com.your-package

look at Logging Hierarchies at Log4j intro



回答2:

For anyone else still stumped by this, I was using spring 4 with log4j2. Spring 4 seems to only check for log4j, not log4j2.xml.

I added a log4j.xml file (as well as log4j2.xml) to my resources and that worked for me.

Hope it helps someone else