Skip to content

从log4z那升级过来的 ,因为原作者不更新该库了,我更正了若干部分,取之于网,用之于网,能达到20万条1K的日志写盘...

Notifications You must be signed in to change notification settings

robinfoxnan/log4z

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

log4z

从log4z那升级过来的。原作者YaweiZhang [email protected] 原地址https://github.com/zsummer/log4z 取之于网,用之于网,

1. 缘由

因为原作者宣布不更新该库了,而我试用了一下觉得很不错,只是有些小问题, 按照需要了解项目每一行代码的原则,我阅读了全文,并更正了若干部分; 测试,能达到20万条1K的日志写盘...

2. 更正了线程写盘刷新频率

在线程函数run中,设置每100次写操作,执行一个flush操作;

3. 添加了限速算法

添加了计算写盘和添加到队列的速度;prepushlog函数中通过对比速度,重新控制调用速度; 即通过算法,计算出合理的时延值,让入队列前等待一会,从而保证入队速度与写盘速度一致,放置内存过度堆积; 否则,原版在linux中极限添加会因为队列过长,时延过大,造成卡顿;

4. 测试程序

测试程序有2种工作方式,1种是按照某个速度提交日志,测试是否能落盘;第2种是极速提交,由内部在prepushlog函数使用算法控制提交速度; 在windows10和ubuntu18.04上,(固态盘)都可以做到20万条每秒的提交速度;

About

从log4z那升级过来的 ,因为原作者不更新该库了,我更正了若干部分,取之于网,用之于网,能达到20万条1K的日志写盘...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages