未从属性文件加载Loggin级别

时间:2018-01-22 13:11:41

标签: java eclipse logging java.util.logging

我在项目中设置了java.util.logging.Logger,如下所示。

public static final String LOGGER_NAME = POSClient.class.getName();
public static Logger logger;

private static final String LOGGING_PROPERTY_FILE = "logging.properties";

public static void main(String[] args) {
    // Load logging properties.
    System.setProperty("java.util.logging.config.file", POSClient.class.getClassLoader().getResource(LOGGING_PROPERTY_FILE).getFile());

    // Initialise logger.
    logger = Logger.getLogger(LOGGER_NAME);
}

以下是我的 logging.properties 文件。

handlers=java.util.logging.ConsoleHandler

.level = WARNING

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level = WARNING

com.cineops.pos.level = WARNING
org.apache.http.level = FINEST
org.apache.http.wire.level = SEVERE

当我尝试记录某些内容时,无论日志记录级别如何,控制台始终显示该消息。例如;

logger.log(Level.INFO, "Properties loaded successfully.");

会将消息记录到 Eclipse 控制台。

从属性文件中可以看到,我正在尝试将 HttpClient 消息记录到控制台上但没有成功。是什么来自 Eclipse 阻止设置加载?任何帮助将不胜感激。

我的 logging.properties 文件位于类路径(Resources文件夹)中。

1 个答案:

答案 0 :(得分:1)

你应该试试

File configFile = POSClient.class.getClassLoader().getResource(LOGGING_PROPERTY_FILE).getFile();
LogManager.getLogManager().readConfiguration(configFile);

而不是

System.setProperty(...);