上一篇文章我們簡要介紹了 easylogging++的 主要功能,easylogging++中有很多特性是通過宏來控制的,今天我們就來聊聊這些宏:
-
debug輸出流宏定義
ELPP_INTERNAL_DEBUGGING_OUT_INFO(目前相當于std:: cout)
ELPP_INTERNAL_DEBUGGING_OUT_ERROR(目前相當于std:: cerr)
ELPP_INTERNAL_DEBUGGING_ENDL(目前相當于std:: endl) -
字串包裝宏
ELPP_INTERNAL_DEBUGGING_MSG(目前就是字串本身) -
斷言宏
ELPP_DISABLE_ASSERT(禁用斷言)
ELPP_DEBUG_ASSERT_FAILURE(斷言條件失敗時,程式停止在斷言處不繼續往下執行) -
errno 錯誤輸出宏
ELPP_INTERNAL_DEBUGGING_WRITE_PERROR -
詳細錯誤資訊除錯宏(會輸出自定義錯誤資訊加上 errno 錯誤資訊
ELPP_INTERNAL_DEBUGGING_WRITE_PERROR)
ELPP_DEBUG_ERRORS啟用宏
ELPP_INTERNAL_ERROR除錯詳細錯誤資訊輸出宏 -
INFO 除錯日志宏 除錯原始碼時輸出內部的 INFO 日志資訊
ELPP_DEBUG_INFO
ELPP_INTERNAL_INFO_LEVEL(默認最大 info 級別設為 9) -
CRASH 堆疊日志宏( 僅僅支持 GCC )
開啟宏:ELPP_FEATURE_ALL或者ELPP_FEATURE_CRASH_LOG
STACKTRACE 宏:ELPP_STACKTRACE -
雜項宏
ELPP_UNUSED指示未使用的變數或者引數
ELPP_LOG_PERMS linux檔案權限宏
ELPP_AS_DLLELPP_EXPORT_SYMBOLS windowsdll匯入匯出宏
STRTOKSTRERRORSTRCATSTRCPY常見字串庫函式宏
ELPP_NO_SLEEP_FOR當前平臺是否支持 sleep 庫函式
ELPP_UTC_DATETIME當前時間函式宏(默認使用本地時間相關函式,定義后,使用 UTC 時間相關函式) -
啟用標準執行緒庫宏
ELPP_FORCE_USE_STD_THREAD強制使用標準庫的執行緒介面(內部會測驗系統資訊是否支持) -
異步日志宏
ELPP_EXPERIMENTAL_ASYNC -
執行緒安全宏
ELPP_THREAD_SAFE或ELPP_EXPERIMENTAL_ASYNC -
函式簽名宏
ELPP_FUNC -
可變參模板支持條件測驗宏
ELPP_VARIADIC_TEMPLATES_SUPPORTED -
日志啟用相關宏
禁用全部日志ELPP_DISABLE_LOGS( 日志輸出的前提 )
單獨禁用DEBUG日志ELPP_DISABLE_DEBUG_LOGS
單獨禁用INFO日志ELPP_DISABLE_INFO_LOGS
單獨禁用WARNING日志ELPP_DISABLE_WARNING_LOGS
單獨禁用ERROR日志ELPP_DISABLE_ERROR_LOGS
單獨禁用FATAL日志ELPP_DISABLE_FATAL_LOGS
單獨禁用TRACE日志ELPP_DISABLE_TRACE_LOGS
單獨禁用VERBOSE日志ELPP_DISABLE_VERBOSE_LOGS -
STL相關容器日志直接輸出支持相關宏
所有STL容器都需要:ELPP_STL_LOGGING
array需要:ELPP_LOG_STD_ARRAY
unordered_set需要:ELPP_LOG_UNORDERED_SET -
QT相關容器日志直接輸出支持相關宏ELPP_QT_LOGGING -
BOOST相關容器日志直接輸出支持相關宏ELPP_BOOST_LOGGING -
WXWIDGETS相關類日志直接輸出支持相關宏ELPP_WXWIDGETS_LOGGING -
unicode支持宏ELPP_UNICODE -
默認日志記錄器 id 宏(不指定時為
default)ELPP_DEFAULT_LOGGER -
性能跟蹤宏:
ELPP_FEATURE_PERFORMANCE_TRACKING -
默認性能跟蹤日志記錄器 id 宏(不指定時為
performance)ELPP_DEFAULT_PERFORMANCE_LOGGER -
全部特性開啟宏(主要用于性能跟蹤和
crash堆疊記錄)ELPP_FEATURE_ALL -
syslog日志開啟宏(需要系統支持syslog日志, 默認syslog的日志記錄器id為syslog)ELPP_SYSLOG -
MAKE_LOGGABLE用于兼容無法修改原始碼的第三方型別也能直接進行日志輸出 -
性能跟蹤宏
TIMED_SCOPE_IF
TIMED_SCOPE
TIMED_BLOCK
TIMED_FUNC_IF
TIMED_FUNC
PERFORMANCE_CHECKPOINT
PERFORMANCE_CHECKPOINT_WITH_ID -
指定檔案指定行計數器(用于條件記錄日志)
ELPP_COUNTER
ELPP_COUNTER_POS -
寫日志相關宏(easylogging++的哪些事(一): 功能介紹 中仔細介紹過)
-
宏技巧:
獲取可變參的數量:el_resolveVALength( 目前原始碼當中最多只能獲取的可變引數量限制在 10 個 )
easylogging++當中的宏就介紹到這里,下一篇文章將開始介紹 easylogging++的總體框架,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538156.html
標籤:其他
