我想为我的应用程序编写默认的Logger。目前我使用的是默认的Java API类记录器。
我想知道是否可以格式化我的日志,看起来像这样:
[level] [dd:MM:YYYY] [hh:mm:ss] message
记录器还应该能够将消息打印到System.out和文件中吗? 我应该在哪里寻找这个功能? 你能给我一些代码片段吗?
答案 0 :(得分:6)
扩展java.util.logging.Formatter,覆盖格式(LogRecord record)方法。 LogRecord包含构建自定义消息所需的所有数据。
然后在属性中的logging.properties文件中更改标准SimpleFormatter java.util.logging.ConsoleHandler.formatter / java.util.logging.FileHandler.formatter 到您的格式化程序。
答案 1 :(得分:5)
您是否考虑过使用Log4j?
如果您不能选择此选项,则可以更改当前使用的记录器的输出格式。 following article显示了一种方法,可以为java.util.logging API提供自定义格式化程序。
我还应该提一下,除非这样做是为了学习和扩展你的知识,或者因为丑陋的环境而被迫,否则编写自己的记录器实现绝不是一个好主意。
答案 2 :(得分:1)
检查此问题。我想我问过类似的问题。
修改强>
正如我在那里写的那样,我找到了一个名为LogExpert的工具。您可以使用“level; dd:MM:YYYY; hh:mm:ss; message”等格式写入文件,并使用此工具查看它,将分类器变为 CSV 。