真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于windows下glog日志庫(kù)使用-創(chuàng)新互聯(lián)

glog日志庫(kù),是谷歌開(kāi)源的日志庫(kù)。

目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、祥云網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

由于前兩天發(fā)生了一次生產(chǎn)事故,一個(gè)C++程序的日志里面記錄了很多亂碼以及其他模塊中的數(shù)據(jù),初步懷疑是內(nèi)存管理異常造成的,大的疑慮在于日志記錄模塊的多線程支持,原先的模塊在單線程下沒(méi)有任何問(wèn)題,但是多線程下并沒(méi)有經(jīng)過(guò)穩(wěn)定的壓力測(cè)試,為了一了百了地解決,還是選用技術(shù)實(shí)例強(qiáng)勁的開(kāi)源庫(kù)吧,原先的庫(kù)就留著開(kāi)發(fā)測(cè)試小功能里面用用。

glog庫(kù),可以從github上下載。 https://github.com/google/glog

我的開(kāi)發(fā)環(huán)境是windows10+vs2017,所以下載完成之后,解壓縮,然后使用cmake-gui進(jìn)行轉(zhuǎn)換為vs2017的sln工程文件:

  1. 選擇源代碼為glog的目錄,目標(biāo)位置為glog目錄下新建一個(gè)build-cmake,
  2. 在configure按鈕點(diǎn)擊,彈出窗口選擇vs2017(這個(gè)都是默認(rèn)會(huì)檢測(cè)到電腦上的vs版本,如果要轉(zhuǎn)換為64位的,則選擇帶有win64的,默認(rèn)是32位,默認(rèn)生成靜態(tài)庫(kù))
  3. 點(diǎn)擊generate,然后到build-cmake目錄下就會(huì)生成vs2017的工程文件glog.sln,雙擊打開(kāi)工程,分別在debug和release下編譯,生成glogd.lib和glog.lib,這里我使用靜態(tài)庫(kù)。

現(xiàn)在glog的庫(kù)文件已經(jīng)有了,我同時(shí)編譯了32位和64位兩個(gè)版本。以及debug版本和release版本。

然后新建一個(gè)測(cè)試工程,我選用的是64位的工程,

  1. 添加glogd.lib和glog.lib以及build-cmake/glog下面的頭文件到工程中去,添加glogd.lib和glog.lib,添加src/glog/log_severity.h。所有的添加操作都是拷貝。
  2. 在工程屬性中,文件引入目錄包含以上添加的文件目錄,庫(kù)引用目錄也是如此。同時(shí)注意工程屬性中C/C++->代碼生成->運(yùn)行庫(kù)的參數(shù),我選擇的都是 “/MTd”,編譯glog庫(kù)工程和測(cè)試工程的這個(gè)選擇要一致。
  3. 創(chuàng)建測(cè)試代碼,需要在開(kāi)頭加上 GLOG_NO_ABBREVIATED_SEVERITIES和GOOGLE_GLOG_DLL_DECL,不然會(huì)報(bào)錯(cuò)。
  4. 然后就可以使用啦,可以參考如下我的測(cè)試代碼,使用了兩個(gè)線程同時(shí)寫(xiě)入,方便測(cè)試是否線程安全??梢詤⒖嘉业膅ithub,
    #pragma once
    #define GLOG_NO_ABBREVIATED_SEVERITIES
    #define GOOGLE_GLOG_DLL_DECL
    #include "logging.h"
    using namespace google;
    #ifdef _DEBUG
    #pragma comment(lib, "glogd.lib")
    #else
    #pragma comment(lib, "glog.lib")
    #endif // DEBUG
    void testGlog2()
    {
    char str[20] = "hello log!";
    int i = 100000;
    while (i > 0) {
        //  LOG(INFO) << str;
        LOG(INFO) << "2info 2test" << "2hello 2log!";  //輸出一個(gè)Info日志
        //  LOG(WARNING) << "warning test";  //輸出一個(gè)Warning日志
      //    LOG(ERROR) << "error test";  //輸出一個(gè)Error日志
        i--;
    }
    }
    void testGlog()
    {
    // Start google log system:
    FLAGS_log_dir = "E:\\logs";
    google::InitGoogleLogging("loglog");
    google::SetLogDestination(google::GLOG_INFO, "E:\\logs\\INFO_");
    google::SetStderrLogging(google::GLOG_FATAL);
    google::SetLogFilenameExtension("log_");
    FLAGS_colorlogtostderr = true;  // Set log color
    FLAGS_logbufsecs = 0;  // Set log output speed(s)
    FLAGS_max_log_size = 1024;  // Set max log file size
    FLAGS_stop_logging_if_full_disk = true;  // If disk is full
    thread *t = new thread(testGlog2);
    char str[20] = "hello log!";
    int i = 100000;
    while (i > 0) {
    //  LOG(INFO) << str;
        LOG(INFO) << "info test" << "hello log!";  //輸出一個(gè)Info日志
    //  LOG(WARNING) << "warning test";  //輸出一個(gè)Warning日志
    //  LOG(ERROR) << "error test";  //輸出一個(gè)Error日志
        i--;
    }
    t->join();
    google::ShutdownGoogleLogging();
    }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前文章:關(guān)于windows下glog日志庫(kù)使用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/dddoig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部