og4j.rootLogger=DEBUG,console,abc
log4j.appender.abc=org.apache.log4j.DailyRollingFileAppender
log4j.appender.abc.File=c:/core.log
log4j.appender.abc.layout=org.apache.log4j.PatternLayout
log4j.appender.abc.layout.ConversionPattern=%5p %d{yyyy-MM-dd HH:mm:ss}(%t:%c) %m%n
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
自定義logger類(lèi)型會(huì)自動(dòng)繼承rootLogger中的appender設(shè)置,如上配置sql語(yǔ)句即是打印到console和abc
log4j.logger.java.sql.Connection=DEBUG,console
log4j.logger.java.sql.Statement=DEBUG,console
log4j.logger.java.sql.PreparedStatement=DEBUG,console
但如果又配置了console,則會(huì)在控制臺(tái)中打印兩遍sql語(yǔ)句。
log4j.logger.java.sql.Connection=DEBUG,abc
log4j.logger.java.sql.Statement=DEBUG,abc
log4j.logger.java.sql.PreparedStatement=DEBUG,abc
這個(gè)配置會(huì)在c:/core.log文件中打印兩遍sql語(yǔ)句。
這個(gè)是別人的,我copy過(guò)來(lái)的,原文https://www.iteye.com/blog/wzt7576-2272037

個(gè)人理解:
局部的走了一次log4j,它自己打印了一次。。
全局又走了一遍。
全局我們一般不配debug,一般我們配error,其他的想哪個(gè)地方打就設(shè)debug就可以了。