停止在java

时间:2016-03-17 13:18:55

标签: java logging slf4j

我有以下代码,并且不希望打印这些日志消息。我还想停止来自同一项目中其他库的日志消息进行打印。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main{


public static void main(String[] args) {
    final Logger slf4jLogger = LoggerFactory.getLogger(Main.class);
    slf4jLogger.info("im printing info");
    slf4jLogger.error("printing error");
}

我在classpath中添加了src / test / resources下的log4j.properties。 log4j.properties如下

log4j.rootLogger=OFF
log4j.logger.main=OFF

我想阻止这些日志从打印到控制台。 但它无法正常工作并打印日志。 这是我缺少的东西吗?

1 个答案:

答案 0 :(得分:0)

我假设您正在使用Log4J 2,根据documentation的要求,在没有log4j.configurationFile系统属性的情况下,配置文件名为log4j2.properties,而不是log4j.properties就像你一样。

正如文档所说:

  

如果没有配置文件可以找到DefaultConfiguration   将会被使用。这将导致日志记录输出进入控制台。

您在/src/test/resources而不是/src/main/resources获得了配置文件也很奇怪,因此根据您的想法,您已将配置文件放到了openssl pkcs12 -export -in server.crt -inkey server.key \ -out server.p12 -name [some-alias] \ -CAfile ca.crt -caname root keytool -importkeystore \ -deststorepass [changeit] -destkeypass [changeit] -destkeystore server.keystore \ -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some-password \ -alias [some-alias] 上classpath,这也可能导致问题。