gpt4 book ai didi

java.util.logging.SimpleFormatter系统属性配置

转载 作者:行者123 更新时间:2023-11-30 03:36:13 25 4
gpt4 key购买 nike

我最近正在学习Java日志记录,在javadoc中,它说可以使用属性“java.util.logging.SimpleFormatter.format”来配置SimpleFormatter。

在下面的代码中,我尝试使用 System.setProperty() 两次“设置格式”,但第二次尝试似乎不起作用,下面代码中的“formatterB”仍将使用“中定义的格式”格式化程序A”。

请问这是什么原因,谢谢。

public class Test {
public static void main(String[] args) {
try {
Logger loggerA = Logger.getLogger("A");
System.setProperty("java.util.logging.SimpleFormatter.format", "A: %1$tc %2$s%n%4$s: %5$s%6$s%n"); // first attempt
Handler handlerA = new FileHandler("A.log", 0, 1, true);
SimpleFormatter formatterA = new SimpleFormatter();
handlerA.setFormatter(formatterA);
loggerA.addHandler(handlerA);
loggerA.info("Logger A info message");

Logger loggerB = Logger.getLogger("B");
System.setProperty("java.util.logging.SimpleFormatter.format", "B: %1$tc %2$s%n%4$s: %5$s%6$s%n"); // second attempt
Handler handlerB = new FileHandler("B.log", 0, 1, true);
SimpleFormatter formatterB = new SimpleFormatter();
handlerB.setFormatter(formatterB);
loggerB.addHandler(handlerB);
loggerB.info("Logger B info message");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

最佳答案

SimpleFormatter stores the format in a static field在类加载时存储一次。该格式用于 SimpleFormatter 类的所有实例。

您必须推出自己的格式化程序类来支持多种格式。

关于java.util.logging.SimpleFormatter系统属性配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27842600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com