在java logger的配置文件中指定自己的Formatter

时间:2010-02-06 12:59:31

标签: java logging java.util.logging

我通过扩展课程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. 如果是,为什么不工作?

2 个答案:

答案 0 :(得分:1)

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

如果不能正常工作,请检查

  1. test.MyFormatter在您的班级 路径
  2. 检查您是否不小心使用Log4J或Commons-logging。
  3. 检查您的配置是否已加载。
  4. 检查您的MyFormatter是否包含没有参数的公共构造函数。

答案 1 :(得分:0)

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

LogManager.getLogManager().readConfiguration(
      getClass().getResourceAsStream("path/to/logging.xml");