如何为子包设置log4j.properties文件

时间:2016-09-23 14:30:44

标签: java logging log4j

我想为两个包创建日志文件:net.biomodels.jummp.indexingnet.biomodels.jummp.indexing.solrindexer。但是,它没有像我期望的那样工作。该日志仅包含net.biomodels.jummp.indexing包中涉及的内容。 你能帮我找出以下日志记录配置的缺失吗?

log4j.rootLogger=WARN, R

# everything goes to the general log
log4j.logger.net.biomodels.jummp.indexing=DEBUG, stdout, R
log4j.additivity.net.biomodels.jummp.indexing=false

# I want to log classes in solrindexer package, underneath indexing package
log4j.logger.net.biomodels.jummp.indexing.solrindexer=INFO, stdout, R
log4j.additivity.net.biomodels.jummp.indexing.solrindexer=false

## general log
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=logs/general.log
log4j.appender.R.MaxFileSize=1MB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%5p %t %d{ISO8601} %c{2} - %m%n

1 个答案:

答案 0 :(得分:0)

从语法的角度来看,您的配置很好。我怀疑你的日志级别是问题所在。您将第一个记录器设置为DEBUG级别:

log4j.logger.net.biomodels.jummp.indexing= DEBUG , stdout, R

,而您的第二个记录器设置为INFO级别:

log4j.logger.net.biomodels.jummp.indexing.solrindexer= INFO , stdout, R

因此,如果您希望从包net.biomodels.jummp.indexing.solrindexer中的类中看到DEBUG级别日志,除非将记录器的日志级别更改为DEBUG或更低,否则您将看不到它们。