Fromwiki:https://code.google.com/p/easynetwork/wiki/libslog
libslog是一个基于linux的高性能开源C/C++多线程安全日志库。 EasyNetwork服务端开源框架使用了libslog作为日志库。
libslog的最新源码可从这里下载: libslog.tar
有任何宝贵的意见和建议请联系作者: xmulyj@gmail.com
一、 特性
a. 多线程安全
b. 简单的配置参数
c. 支持热更新log参数,如从INFO级别更改为DEBUG不需要重启服务器
二、安装与使用
a. 编译
make
b. 安装sudo make install
c. 使用
libslog使用非常简单,在自己的源文件中包含头文件slog.h:
使用libslog时需要先进行初始化:
其中SLOG_CONFIG_PATH是slog的配置文件路径,如果为NULL的话将使用默认的配置参数,并且log将打印到屏幕。
libslog有5个log级别:TRACE、DEBUG、INFO、WARN、ERROR。TRACE级别最高,将打印所有级别的log。DEBUG次之,可以打印TRACE除外的其他log。ERROR最低,只打印本级别的log。slog的使用非常简单,与C语言的printf格式一致:
其中SLOG_UNINIT()是对slog的反初始化。
最后链接slog库:
三、 性能
a. 测试条件
b. 机器负载c. log4cpp版本
d. 测试结果
性能比log4cpp高5倍:)
四、 slog的配置参数
slog的配置参数非常简单,并且支持热更新,即在不需要重启服务器的情况下修改配置参数,这点对线上跟踪问题非常有用。
五、 测试代码(见源码)
a. slog_test.c
b. log4cpp_test.cpp