【发布时间】:2014-12-01 00:42:58
【问题描述】:
禁用对最大规模 log4j 消息进行日志记录的方法是什么:
log4j.properties如下:
log4j.rootLogger=INFO,CA,FA
#Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{HH:mm:ss.SSS} %p %c: %m%n
log4j.appender.CA.Threshold = INFO
#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.append=false
log4j.appender.FA.file=target/unit-tests.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d{HH:mm:ss.SSS} %p %c{1}: %m%n
log4j.appender.FA.Threshold = INFO
..
log4j.logger.org.scalatest=WARN
但是,我们看到 INFO 级别 scalatest log4j 消息:
2014-11-30 14:25:57,263 INFO [ScalaTest-run-running-DiscoverySuite] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(840)) - hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-11-30 14:25:57,493 INFO [ScalaTest-run-running-DiscoverySuite] hbase.HBaseCommonTestingUtility (HBaseTestingUtility.java:startMiniCluster(840)) - Starting up minicluster with 1 master(s) and 2 regionserver(s) and 2 datanode(s)
2014-11-30 14:25:57,499 INFO [ScalaTest-run-running-DiscoverySuite] hbase.HBaseCommonTestingUtility (HBaseTestingUtility.java:setupClusterTestDir(390)) - Created new mini-cluster data directory: /shared/hwspark/target/
【问题讨论】:
-
有解决这个问题的办法吗?我也深受其害。
-
@Malcolm 您需要确保要使用的 log4j.properties 位于类路径的第一个目录中。
-
感谢您的回复!你是偶然使用 sbt 的吗?如果是这样,如何修改类路径?我试过用“unmanagedClasspath in Test += -Dlog4j.configuration=src/main/resources/log4j.properties”来做,但没有用。
-
我无法弄清楚类路径的事情。我确实找到了这个解决方案。它运行良好: org.slf4j.LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME) .asInstanceOf[ch.qos.logback.classic.Logger] .setLevel(ch.qos.logback.classic.Level.WARN)
标签: scalatest