1

我通过扩展类写了一个Formatter( ) ;test.MyFormatterjava.util.logging.Formatter

现在我想使用test.MyFormatter而不是java.util.logging.SimpleFormatter

在配置文件中,我替换了条目:

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

java.util.logging.ConsoleHandler.formatter = test.MyFormatter

不幸的是,这不起作用。

有人可以解释一下,如果我正在做的是:

  1. 正确的
  2. 如果是,为什么它不起作用?
4

2 回答 2

1

根据javadoc ,您的配置是正确的。

如果它不起作用,请仔细检查

  1. test.MyFormatter在你的班级路径中
  2. 检查您是否不小心使用了 Log4J 或 Commons-logging。
  3. 检查您的配置是否已加载。
  4. 检查您MyFormatter是否有没有参数的公共构造函数。
于 2010-02-06T13:15:30.137 回答
0

您必须使用 LogManager类覆盖默认配置。像这样的东西:

LogManager.getLogManager().readConfiguration(
      getClass().getResourceAsStream("path/to/logging.xml");
于 2010-02-06T13:25:45.770 回答