В последнее время я изучаю ведение журнала Java, и в javadoc говорится, что SimpleFormatter можно настроить с помощью свойства java.util.logging.SimpleFormatter.format.java.util.logging.SimpileFormatter Конфигурация системного свойства
В приведенном ниже коде я попытался дважды установить формат с помощью System.setProperty(), но, похоже, не будет работать во второй попытке, «formatterB» в нижнем коде по-прежнему будет использовать формат, определенный в "formatterA".
В чем причина этого, спасибо.
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();
}
}
}
уточнил путаницу, очень полезно :) – foolhunger