我在我的程序中添加了一个记录器,在网上冲浪我在我的代码中添加了一个非常简单的记录器,它具有基本的 2 行定义:
private static final Logger LOG = Logger.getLogger(GUI.class.getName());
public MyClass(){
//other stuff...
LOG.info("text to log");
//other stuff...
}
经过几个小时的开发,我想知道如何格式化记录文本的样式,于是我来到了这门课:
java.util.logging.SimpleFormatter
阅读 Javadoc 我可以找到:
可以通过在 java.util.logging.SimpleFormatter.format 属性中指定格式字符串来自定义格式。
也有几个例子:
Some example formats:
java.util.logging.SimpleFormatter.format="%4$s: %5$s [%1$tc]%n"
This prints 1 line with the log level (4$), the log message (5$) and the timestamp (1$) in a square bracket.
WARNING: warning message [Tue Mar 22 13:11:31 PDT 2011]
我尝试了其中的每一个,但“格式”字段是“不可见的”(我想是私人的),所以我不能直接编辑它。没有任何类似于 setStringVar(String regex); 的方法。从外部设置 var。
我试图扩展类 public class MyClass extends SimpleFormatter{
但“格式”变量不可编辑。我也尝试过扩展 Formatter(SimpleFormatter 的超类)但没有成功。
我唯一能做的就是扩展 SimpleFormatter 并手动覆盖它: public String format(LogRecord rec); 带有无聊和复杂的代码。
我只是想知道是否有任何方法可以简单地使用 SimpleFormatter 类的内部正则表达式阅读器
编辑:错误