如何从log4j appender中排除包

Waq*_*med 6 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
Run Code Online (Sandbox Code Playgroud)

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

 com.bitguiders.package2 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?(假设我有50个包裹,但我仍想排除一个或两个包装)

Tob*_*ías 9

用户可以将日志设置Level,以OFF对一些软件包:

# set the log level 
log4j.logger.com.bitguiders=INFO
log4j.logger.com.bitguiders.package2=OFF
log4j.logger.com.bitguiders.packageX=OFF
Run Code Online (Sandbox Code Playgroud)

编辑:

您可以使用以下方式登录文件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
Run Code Online (Sandbox Code Playgroud)

编辑:

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

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
Run Code Online (Sandbox Code Playgroud)

这里回答:使用Log4J 1.*,如何将两个包写入两个单独的文件?