加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 自动在’System.out.println()’语句中显示日期

发布时间:2020-12-15 05:02:49 所属栏目:Java 来源:网络整理
导读:我知道您打印的每一行都可以用日期标记(并且还保存为日志文件). 例如在Minecraft中: [16:21:43 INFO]: Minecraft Launcher 1.3.9 (through bootstrap 5) started on windows... 我怎么做?也许和Logger一起?或者是否需要外部图书馆? 解决方法 可以通过调
我知道您打印的每一行都可以用日期标记(并且还保存为日志文件).

例如在Minecraft中:

[16:21:43 INFO]: Minecraft Launcher 1.3.9 (through bootstrap 5) started on windows...

我怎么做?也许和Logger一起?或者是否需要外部图书馆?

解决方法

可以通过调用System.out.println在String中显示前缀的日期

>创建自定义PrintStream类
>覆盖println方法,为String添加日期前缀
>使用自定义PrintStream设置System.setOut

自定义流:

public class MyPrintStream extends PrintStream {

    public MyPrintStream(OutputStream out) {
        super(out);
    }

    @Override
    public void println(String string) {
        Date date = new Date();
        super.println("[" + date.toString() + "] " + string);
    }
}

测试类:

public static void main(String[] args) {
            System.setOut(new MyPrintStream(System.out));
            System.out.println("Hello World!");
                System.out.println("Yellow World!");
        }

输出:

[Mon Feb 10 21:10:14 IST 2014] Hello World!
[Mon Feb 10 21:10:14 IST 2014] Yellow World!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读