<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          VC-Logger高性能 C++ 通用日志組件

          聯(lián)合創(chuàng)作 · 2023-09-30 00:43

          VC-Logger 是一個(gè)簡單易用的 C++ 程序通用日志組件。設(shè)計(jì)時(shí)著重考慮三個(gè)方面:功能、可用性和性能。為了讓大家能更方便的學(xué)習(xí) VC-Logger,特此精心制作了幾個(gè)測(cè)試用例:TestGUILogger(GUI 版本測(cè)試用例 / 靜態(tài)加載)、TestDynamicLogger(GUI 版本測(cè)試用例 / 動(dòng)態(tài)加載)、TestConsoleLogger(Console 版本測(cè)試用例 / 靜態(tài)加載)。

          功能: 本日志組件的目的是滿足大多數(shù)應(yīng)用程序記錄日志的需求 —— 把日志輸出到文件或發(fā)送到應(yīng)用程序中,并不提供一些復(fù)雜但不常用的功能。本日志組件的功能包括:

          1. 把日志信息輸出到指定文件

          2. 每日生成一個(gè)日志文件

          3. 對(duì)于 GUI 程序,可以把日志信息發(fā)送到指定窗口

          4. 對(duì)于Console應(yīng)用程序,可以把日志信息發(fā)往標(biāo)準(zhǔn)輸出 (std::cout)

          5. 支持 MBCS / UNICODE,Console / GUI 程序

          6. 支持動(dòng)態(tài)加載和靜態(tài)加載日志組件 DLL

          7. 支持 DEBUG/TRACE/INFO/WARN/ERROR/FATAL 等多個(gè)日志級(jí)別

          可用性: 本日志組件著重考慮了可用性,盡量讓使用者用起來覺得簡便、舒心:

          1. 簡單純凈:不依賴任何程序庫或框架

          2. 使用接口簡單,不需復(fù)雜的配置或設(shè)置工作

          3. 提供 CStaticLogger 和 CDynamicLogger 包裝類用于靜態(tài)或動(dòng)態(tài)加載以及操作日志組件,用戶無 需關(guān)注加載細(xì)節(jié)

          4. 程序如果要記錄多個(gè)日志文件只需為每個(gè)日志文件創(chuàng)建相應(yīng)的 CStaticLogger 或 CDynamicLogger 對(duì)象

          5. 只需調(diào)用 Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法記錄日志

          6. 日志記錄方法支持可變參數(shù)

          7. 日志輸出格式:<時(shí)間> <線程ID> <日志級(jí)別> <日志內(nèi)容>

          性能: 性能是組件是否值得使用的硬指標(biāo),本組件從設(shè)計(jì)到編碼的過程都盡量考慮到性能優(yōu)化:

          1. 支持多線程同時(shí)發(fā)送寫日志請(qǐng)求

          2. 使用單獨(dú)線程在后臺(tái)寫日志,不影響工作線程的正常執(zhí)行

          3. 采用批處理方式批量記錄日志

          *** 使用方法 ***
          方法一:(靜態(tài)加載 Logger DLL)
          --------------------------------------------------------------------------------------

          1. 應(yīng)用程序包含 StaticLogger.h 頭文件

          2. 創(chuàng)建 CStaticLogger 對(duì)象(通常為全局對(duì)象)

          3. 調(diào)用 CStaticLogger->Init(...) 初始化日志組件

          4. 使用 CStaticLogger->Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法寫日志

          5. 調(diào)用 CStaticLogger->UnInit(...) 清理日志組件(CStaticLogger 對(duì)象析構(gòu)時(shí)也會(huì)自動(dòng)清理日志組件)

          方法二:(動(dòng)態(tài)加載 Logger DLL)
          --------------------------------------------------------------------------------------

          1. 應(yīng)用程序包含 DynamicLogger.h 頭文件

          2. 創(chuàng)建 CDynamicLogger 對(duì)象(通常為全局對(duì)象)

          3. 調(diào)用 CDynamicLogger->Init(...) 初始化日志組件

          4. 使用 CDynamicLogger->Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法寫日志

          5. 調(diào)用 CDynamicLogger->UnInit(...) 清理日志組件(CDynamicLogger 對(duì)象析構(gòu)時(shí)也會(huì)自動(dòng)清理日志組件)

          方法三:(直接用導(dǎo)出函數(shù)加載 Logger DLL)
          --------------------------------------------------------------------------------------

          1. 應(yīng)用程序包含 Logger.h 頭文件

          2. 手工調(diào)用 ILoger_Create() 和 ILoger_Destroy() 導(dǎo)出函數(shù)創(chuàng)建和銷毀 ILogger 對(duì)象 

              (注:如果是動(dòng)態(tài)加載,需手工調(diào)用 ::LoadLibrary()/::FreeLibrary() 系列 API 函數(shù)加載和卸載 Logger DLL)

              [
                      ***** 對(duì)于希望通過窗口接收日志信息的 GUI 程序 *****
                  A. 日志組件初始化成功后調(diào)用 SetGUIWindow(HWND) 設(shè)置收日志的窗口
                  B. 窗口須響應(yīng)處理 LOG_MESSAGE 消息
                  C. 處理完 LOG_MESSAGE 消息后,調(diào)用 ILogger::FreeLogMsg() 銷毀接收到的 TLogMsg 
              ]

          Environment:

          1. Windows 2000 or later (_WIN32_WINNT >= 0x0500)

          2. VC++ 2010 or later

          Release:

          1. Logger_C.dll - Console/MBCS/Release

          2. Logger_CD.dll - Console/MBCS/Debug

          3. Logger_CU.dll - Console/Unicode/Release

          4. Logger_CUD.dll - Console/Unicode/Debug

          5. Logger.dll - GUI/MBCS/Release

          6. Logger_D.dll - GUI/MBCS/Debug

          7. Logger_U.dll - GUI/Unicode/Release

          8. Logger_UD.dll - GUI/Unicode/Debug

          Examples:

          1. TestGUILogger         (GUI / 靜態(tài)加載)

          2. TestDynamicLogger  (GUI / 動(dòng)態(tài)加載)

          3. TestConsoleLogger   (Console / 靜態(tài)加載)

          瀏覽 27
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人毛片18岁女人 | 亚洲无码性爱video | av中文字幕在线播放 | 五月激情四射网 | 男人天堂一区二区 |