码迷,mamicode.com
首页 > 其他好文 > 详细

使用System.out.printf()输出日志重定向到文件后显示混乱问题

时间:2019-01-30 15:52:10      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:判断   vim命令   一个   类型   应该   显示   hup   日志重定向   定义   

写了一个小工具,使用System.out.printf()输出日志,以方便使用者查看,在终端显示没有问题,但重定向到文件就有问题了,会出现一些很奇怪的乱序现象。

上网查询资料,判断应该是跟重定向和Linux缓冲区有关,标准输出为行缓冲,文件为全缓冲,可以使用 stdbuf -oL [command] 来实现重定义缓冲区类型,于是将原先的启动脚本中的 nohup java ... & 改为 nohup stdbuf -oL ... & , 这样改完后用vim命令查看文件内容是正常的,但使用tail -f 命令就不行了,还是一样会乱序,原来 tail -f 的输出也是全缓冲, 于是查看时改成 stdbuf -oL tail -f stdout.log, 乱序问题解决。

使用System.out.printf()输出日志重定向到文件后显示混乱问题

标签:判断   vim命令   一个   类型   应该   显示   hup   日志重定向   定义   

原文地址:https://www.cnblogs.com/chenggang816/p/10337955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!