如何从log4j appender中排除包

时间:2016-03-17 15:05:10

标签: java logging log4j

我有配置文件(log4j.properties),请参阅下面的包,并在最后提问。

  com.bitguiders.package1
  com.bitguiders.package2
  com.bitguiders.package3
  com.bitguiders.package4
  com.bitguiders.package5
  com.bitguiders.package6
  com.bitguiders.package7

我想记录除此包之外的所有内容

 com.bitguiders.package2 

我该怎么做? (假设我有50个包,但我仍然想要排除一个或两个pacakges)

1 个答案:

答案 0 :(得分:6)

您可以为某些软件包将日志Level设置为OFF

# set the log level 
log4j.logger.com.bitguiders=INFO
log4j.logger.com.bitguiders.package2=OFF
log4j.logger.com.bitguiders.packageX=OFF

编辑:

您可以使用FileAppender登录文件,例如:

log4j.rootLogger=INFO, FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=/somepath/somefile.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=[%p] %d %c %M - %m%n

编辑:

为了将不同包中的日志发送到不同的文件:

log4j.rootLogger=WARN, FILEA, FILEB
log4j.logger.com.bitguiders.package1=INFO, FILEA
log4j.logger.com.bitguiders.package2=INFO, FILEA
log4j.logger.com.bitguiders.package3=INFO, FILEB

这回答:Using Log4J 1.*, how can I write two packages to two separate files?