日期 | 作者 | 版本 | 备注 |
---|---|---|---|
2020-12-6 | dingbin | v1.0 | |
Tulip-log 日志库简介
Tulip-log 是作者开源的用 C ++ 语言实现的一个稳固高效的日志库。Github 地址是:https://github.com/apollo008/…。它不依赖与任何第三方库,次要利用于类 Unix 操作系统下。它具备以下劣势:
- 性能稳固,代码精炼,无任何第三方依赖,运行效率高;
- 兼顾个别惯例的 log 配置文件选项,比方 Java 编写的 log4j 的配置格局,上手容易;
- 反对多线程同步疾速输入日志;
- 反对多种日志输入形式,目前反对的有 Console、File 和 Udp 转发日志;
- 对最罕用的输入日志到文件的形式,反对文件名滚动和较多丰盛细节个性定义;
- 宏定义形式极大简化了日志接口应用,编写打印日志代码简要便当。
应用办法
应用办法可参考 examples/hello_tulip.cpp 代码示例:
#include "tulip/TLogDefine.h"
int main(int argc, char** argv) {
//configurate TLog from logger config file 'logger.conf'
TLOG_CONFIG("logger.conf");
//declare and setup tlog variable
TLOG_DECLARE_AND_SETUP_LOGGER(HELLOTULIP, MAIN);
for (uint32_t i = 0; i < 100; ++i) {
//output log by convenient micro definitions
TLOG_LOG(INFO,"the values is:[%u].", i);
sleep(1);
}
//flush before shutdown TLog
TLOG_LOG_FLUSH();
//at last shutdown TLog
TLOG_LOG_SHUTDOWN();
return 0;
}
这里给出一个 Tulip log 的配置文件 logger.conf 内容可供参考:
#Tulip log 配置文件
tlog.rootLogger=INFO, tulipAppender,consoleAppender
tlog.appender.tulipAppender=FileAppender
tlog.appender.tulipAppender.max_file_size=3024
tlog.appender.tulipAppender.fileName=logs/app.log
tlog.appender.tulipAppender.flush=false
tlog.appender.tulipAppender.delay_time=1
tlog.appender.tulipAppender.layout=PatternLayout
tlog.appender.tulipAppender.layout.LogPattern=[%%d] [%%t,%%F:%%n -- %%f() %%l] [%%m]
tlog.appender.consoleAppender=ConsoleAppender
tlog.appender.consoleAppender.delay_time=1
tlog.appender.consoleAppender.layout=PatternLayout
tlog.appender.consoleAppender.layout.LogPattern=[%%d] [%%t,%%F:%%n -- %%f() %%l] [%%m]
tlog.appender.udpAppender=UdpAppender
tlog.appender.udpAppender.ip=192.168.0.211
tlog.appender.udpAppender.port=14878
tlog.appender.udpAppender.layout=PatternLayout
tlog.appender.udpAppender.layout.LogPattern=[%%d] [%%t,%%F:%%n -- %%f() %%l] [%%m]
####################################################################
编译和装置
目前反对类 Unix 环境下编译装置,办法如下:
git clone https://github.com/apollo008/tulip-log.git tulip-log.git
cd tulip-log.git
mkdir build-dir
cd build-dir
cmake -DCMAKE_INSTALL_PREFIX=/path/to/install ../src
make -j10
make install
build 实现后会在装置指标下生成 bin、include、lib 三个目录:
bin 目录下 hello_tulip 可执行程序是 tulip log 演示程序;
lib 目录下的 libtulip.so 是动静库,用以第三方我的项目应用;
include 目录下是第三方我的项目须要 include 的头文件。