fwrite应用层库接口,会调用write接口,write是linux系统接口;
日志写入逻辑
批量写入会少调用write接口,也少调用fsync接口;可以通过setvbuf设置缓冲区大小;
日志写入逻辑总结
log4cpp日志框架
log4cpp日志框架适合使用在客户端中,不适合使用在服务器,在服务器中没办法做到高性能;不适合在服务器中批量写入数据;
服务器程序支持每个模块都有独立日志输出,比如epoll+线程池,这里epoll属于io模块,线程池属于业务处理模块,不同模块对应不同的category,layout是格式化输出;
树状功能:所有的模块输出都打印到root中,对应输出文件;
下载和编译log4cpp
日志级别,是通过宏定义去控制的
日志格式化,通过自定义格式供选择
muduo日志库和原理