Java util logger:自定义格式化程序仅适用于某些级别
我为java.util记录器制作了一个自定义格式化程序,实现如下Java util logger:自定义格式化程序仅适用于某些级别,java,logging,Java,Logging,我为java.util记录器制作了一个自定义格式化程序,实现如下 logger = Logger.getAnonymousLogger(); logger.setUseParentHandlers(false); sb = new StringBuffer(); try { Handler handler = new FileHandler("xx.log"); handler.setFormatter(new CustomFormatter()); logger.addHandle
logger = Logger.getAnonymousLogger();
logger.setUseParentHandlers(false);
sb = new StringBuffer();
try {
Handler handler = new FileHandler("xx.log");
handler.setFormatter(new CustomFormatter());
logger.addHandler(handler);
} catch (IOException e) {
e.printStackTrace();
}
private class CustomFormatter extends Formatter {
@Override
public String format(LogRecord record) {
String msg = record.getMessage();
sb.append(msg);
System.out.print(sb.toString());
return sb.toString();
}
}
运行以下代码:
logger.finest(msg);
logger.finer(msg);
logger.fine(msg);
logger.config(msg);
logger.info(msg);
logger.warning(msg);
logger.severe(msg);
logger.log(new LogRecord(Level.FINE, msg));
仅限信息、警告和严重工作。其他方法运行,但不向控制台返回任何内容,也不向日志文件写入任何内容。我需要实现至少4个日志级别,但只有3个工作
日志、配置、精细、精细、精细发生了什么变化?如何让他们使用我的格式化程序?或者如何将级别传递给格式化程序?您可以使用设置日志记录的
级别
设置日志级别,指定将记录哪些消息级别
这个记录器低于此值的消息级别将被丢弃
在您的情况下,由于您对所有级别都感兴趣,它将是:
logger.setLevel(Level.ALL);
您是否可以尝试添加logger.setLevel(Level.ALL)代码>?可能是java.util.logging有一个默认为Level.INFO的根记录器。请参阅此处,它已修复!!0否决票—不必在记录器和处理程序中设置日志记录级别吗?