日期 | 做者 | 版本 | 備註 |
---|---|---|---|
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的頭文件。線程