我想在JavaConsoleHandler使用System.out的,而不是err,所以我实现我自己的处理程序调用protected void setOutputStream(OutputStream)父StreamHandler类:
public class ConsoleHandler extends java.util.logging.ConsoleHandler {
public ConsoleHandler() {
setOutputStream(System.out); // or System.err
setLevel(Level.ALL);
}
}
我从根记录器中删除默认控制台记录器并将我自己的记录器添加到根记录器中:
Logger l = Logger.getLogger("");
for (Handler h : l.getHandlers())
l.removeHandler(h);
l.addHandler(new ConsoleHandler());
System.out.println("OUT");
System.err.println("ERR");
问题:始终打印“OUT”,但从不打印“ERR”,这与我在 ConsoleHandler 构造函数中设置的输出流无关。
慕森王
相关分类