为了账号安全,请及时绑定邮箱和手机立即绑定

日志系统能不能保证日志在1min内写到磁盘上

日志系统能不能保证日志在1min内写到磁盘上

皈依舞 2019-03-13 09:15:03
日志系统,如log4j或者glog等等有没有对于日志落到磁盘上的时间有没有什么保证?如何实现日志系统能在1min内将日志写到磁盘上。
查看完整描述

2 回答

?
幕布斯1329279

TA贡献8条经验 获得超0个赞

如果对落在硬盘上的时间有要求,可能需要自己来写;
就像我们平时使用输出使用的fprintf,为了性能考虑,运行库的函数都是带了缓冲的(缓存一般在4K左右,但不一定);有缓冲能减少系统调用的次数;可能调fprintf好几次,才会有一次调用write真正写到硬盘;
如果自己实现,为了实时性考虑,直接使用系统调用接口write()来记录日志;
如果有1min的缓冲容忍,写日志的时候可以使用fprintf,但每分钟调用一次fflush()强制日志落到硬盘上;
PS:log4j上是否有这样的强刷接口,可以查查资料;

查看完整回答
反对 回复 2019-04-16
?
HUH函数

TA贡献1836条经验 获得超4个赞

不能,为了提升性能,必然会使用内存缓冲,磁盘缓存区之间的技术。


查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 527 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号