由於博主有很多個python環境,如msys64的python,anaconda3的python和官網下載的python, 當我在vscode運行python,需要安裝對應的包時,用pip安裝,如下 安裝成功了,但是還是沒有找到 原因非常簡單,就是我vscode使用的python環境不是上面那個py ...
上一篇文章我們簡要介紹了 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_DLL
ELPP_EXPORT_SYMBOLS windows
dll
導入導出巨集
STRTOK
STRERROR
STRCAT
STRCPY
常見字元串庫函數巨集
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++的總體框架。