C++實現的高效簡便易用的Tulip-log日誌庫邊學邊用

日期 做者 版本 備註
2020-12-6 dingbin v1.0

Tulip-log日誌庫簡介

Tulip-log是做者開源的用C++語言實現的一個穩定高效的日誌庫。Github地址是:https://github.com/apollo008/...。它不依賴與任何第三方庫,主要應用於類Unix操做系統下。它具備如下優點:git

  1. 性能穩定,代碼精煉,無任何第三方依賴,運行效率高;
  2. 兼顧通常常規的log配置文件選項,好比Java編寫的log4j的配置格式,上手容易;
  3. 支持多線程同步快速輸出日誌;
  4. 支持多種日誌輸出方式,目前支持的有Console、File和Udp轉發日誌;
  5. 對最經常使用的輸出日誌到文件的方式,支持文件名滾動和較多豐富細節特性定義;
  6. 宏定義方式極大簡化了日誌接口使用,編寫打印日誌代碼簡要便利。

使用方法

使用方法可參考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的頭文件。線程

相關文章
相關標籤/搜索