如何创建自定义 logger 格式化?
来源:互联网 发布:域名注册机构有哪些 编辑:程序博客网 时间:2024/05/16 05:11
要创建一个自定义的 Formatter 我们需要继承 java.util.logging.Formatter 抽象类并实现 format(LogRecord) 方法。在该方法中我们可以对保存在 LogRecord 中的 log 消息进行格式化以满足我们的需要。
此外,java.util.logging.Formatter 类还有 getHead(Handler) 和 getTail(Handler) 两个方法,通过对它们进行重写,我们可以添加一个头和尾到我们的 log 消息中。
01/05/2009 06:22:09.372 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [INFO] - Example of creating custom formatter.
01/05/2009 06:22:09.374 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [WARNING] - A warning message.
01/05/2009 06:22:09.374 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [SEVERE] - A severe message.
原文链接:How do I create a custom logger Formatter?,发布日期:2017 年 2 月 13 日。
作者简介
Wayan Saryada 是一名程序员、跑步爱好者、潜水爱好者,目前居住在印尼的巴厘岛。主要使用 Java 编程,利用 Spring 框架、Hibernate / JPA 等构建基于 Web 的应用。
此外,java.util.logging.Formatter 类还有 getHead(Handler) 和 getTail(Handler) 两个方法,通过对它们进行重写,我们可以添加一个头和尾到我们的 log 消息中。
package org.kodejava.example.util.logging;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.logging.*;public class LogCustomFormatter { public static void main(String[] args) { Logger logger = Logger.getLogger(LogCustomFormatter.class.getName()); logger.setUseParentHandlers(false); MyFormatter formatter = new MyFormatter(); ConsoleHandler handler = new ConsoleHandler(); handler.setFormatter(formatter); logger.addHandler(handler); logger.info("Example of creating custom formatter."); logger.warning("A warning message."); logger.severe("A severe message."); }}class MyFormatter extends Formatter { // Create a DateFormat to format the logger timestamp. private static final DateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS"); public String format(LogRecord record) { StringBuilder builder = new StringBuilder(1000); builder.append(df.format(new Date(record.getMillis()))).append(" - "); builder.append("[").append(record.getSourceClassName()).append("."); builder.append(record.getSourceMethodName()).append("] - "); builder.append("[").append(record.getLevel()).append("] - "); builder.append(formatMessage(record)); builder.append("\n"); return builder.toString(); } public String getHead(Handler h) { return super.getHead(h); } public String getTail(Handler h) { return super.getTail(h); }}以下为上述自定义格式所产生的一个输出:
01/05/2009 06:22:09.372 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [INFO] - Example of creating custom formatter.
01/05/2009 06:22:09.374 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [WARNING] - A warning message.
01/05/2009 06:22:09.374 - [org.kodejava.example.util.logging.LogCustomFormatter.main] - [SEVERE] - A severe message.
原文链接:How do I create a custom logger Formatter?,发布日期:2017 年 2 月 13 日。
作者简介
Wayan Saryada 是一名程序员、跑步爱好者、潜水爱好者,目前居住在印尼的巴厘岛。主要使用 Java 编程,利用 Spring 框架、Hibernate / JPA 等构建基于 Web 的应用。
1 0
- 如何创建自定义 logger 格式化?
- 虚拟机上如何创建自定义分区或格式化自定义文件系统类型
- 如何创建自定义主题
- 如何创建自定义 OID
- 如何创建自定义控件
- 动态创建Logger
- 如何创建 Eclipse 自定义向导
- 如何创建QML自定义元素?
- JS如何自定义创建表格
- log4j创建Logger实例解读
- Log4J 如何分开Logger输出
- Log4J 如何分开Logger输出
- 如何自定义eclipse代码格式化(Ctrl+Shift+F)
- 如何在Linux上格式化并创建分区
- 自定义封装Logger demo 小测试
- Logger
- logger
- logger
- 条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
- 剑指offer 32. 1到n整数中2出现的次数
- SSD(Single Shot MultiBox Detector):绘制训练过程loss,accuracy曲线
- 弹簧动画-----Spring Animation
- MFC库参考
- 如何创建自定义 logger 格式化?
- javascript循环遍历数组输出key value
- linux命令之init
- 学习hibernate笔记
- 外资云服务进驻中国,对现有格局会有何影响?
- 解决 Android Studio一直Build问题
- Android 面试题(2)-- 操作系统篇
- Android Studio代码不能提交
- 08-图9 关键活动 (30分)