我有这个非常简单,直接的工作代码,可以正常工作。除了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