日期 | 作者 | 版本 | 备注 |
---|---|---|---|
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的头文件。
发表回复