我在我的项目中设置了一个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/