日期 | 做者 | 版本 | 备注 |
---|---|---|---|
2020-12-6 | dingbin | v1.0 | |
Tulip-log是做者开源的用C++语言实现的一个稳定高效的日志库。Github地址是:https://github.com/apollo008/...。它不依赖与任何第三方库,主要应用于类Unix操做系统下。它具备如下优点:git
使用方法可参考examples/hello_tulip.cpp代码示例:github
#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环境下编译安装,方法以下:app
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演示程序;ui
lib目录下的libtulip.so是动态库,用以第三方项目使用;操作系统
include目录下是第三方项目须要include的头文件。线程