Java Logger覆盖了一些配置文件值/设置

时间:2019-05-05 06:27:19

标签: java logging

我有这个非常简单,直接的工作代码,可以正常工作。除了System.setProperty。

我希望从属性文件中加载所有日志记录配置,并且只需要在运行时更改“ java.util.logging.FileHandler.pattern”,这在我的以下代码中不会发生。

当前代码可以正常工作,并按照配置文件中的指示以文件名“ mylog-0.log”登录到目标,但是我需要将其作为 myclass_name .log。使用System.setProperty进行设置。

请提出可能的修复方法。

public static void main(String[] args) throws IOException {
    System.setProperty("java.util.logging.FileHandler.pattern",
            "D:/Temp/delete/"+MyStart.class.getName()+"-%g.log");

    final Logger log = Logger.getLogger(MyStart.class.getName());

    final InputStream ist = MyStart.class.getResourceAsStream("logger.properties");

    LogManager.getLogManager().readConfiguration(ist);

    if(ist != null) ist.close();

    log.log(Level.INFO,"Starting the class");
    log.log(Level.INFO,"Ending the class");

}

这是我的记录器配置文件

# Log File Handler Configuration:
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level = ALL

java.util.logging.FileHandler.level = ALL
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.FileHandler.pattern = D:/Temp/delete/mylog-%g.log
java.util.logging.FileHandler.limit = 5000000
java.util.logging.FileHandler.count = 1000
java.util.logging.FileHandler.append = false
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

com = ALL

0 个答案:

没有答案