前言
fwrite到用户缓冲区再write再到内核,相比write直接写入内核肯定是多了一个缓冲区。需要特别注意的是,每次写入数据短<1024时候,fwrite效率更高。每次写的数据多,比如2900,write的效率更高,因为fwrite需要二次拷贝。
一、日志写入逻辑
log4cpp既拥有c语言风格printf()的日志输出格式,也有c++语言cout<<这种输出格式。
- 可以分模块打印不同的日志文件。
- 也可以把所有模块的日志也打印同一个文件。
一秒钟打印10000条日志,那肯定是不行的,会影响服务器性能。好的日志,一秒钟能达到百万级别。
同步日志方式,只适合用在客户端。
异步日志方式,适合在服务器。
检查文件大小,导致日志库性能大幅度下降。二、Log4cpp日志框架
实时写入磁盘 单笔write
多行日记累计再写入,累计了就差一行却一直得不到消息。
单独启动一个定时器,1秒去刷新一次。