java - 日志记录级别未从属性文件加载

标签 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文件位于类路径(资源文件夹)中。

最佳答案

你应该尝试

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

而不是

System.setProperty(...);

关于java - 日志记录级别未从属性文件加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48382379/

相关文章:

Java调用同一个类的另一个方法中的一个方法

java - 无法在 Eclipse 中读取文件

Eclipse : Where do I put files on the filesystem that I want to load using getResource? 中的 Java(例如 ImageIcon 的图像)

c++ - 使用全局变量和仿函数实现日志记录

sql - 在 SQL Server 2008 中登录时出错

java - 将字符串写入文件时如何换行?

java - 如何使用 systemd-run 运行子进程并等待其完成

java - Eclipse WindowBuilder 不准确

logging - 记录 Laravel 中的操作和执行时间

java - Java 是编译型编程语言还是解释型编程语言?