if (__logic_ftpd_debug >= FTPRET_LOG_ERROR) {
// 記錄日志
}
成熟日志系統通常定義級別(數值越大越嚴重):
| 宏常量 | 典型數值 | 含義 | 輸出場景 |
|---|---|---|---|
| FTPRET_LOG_DEBUG | 0 | 調試跟蹤 | 開發期詳細流程 |
| FTPRET_LOG_INFO | 1 | 一般信息 | 關鍵節點記錄 |
| FTPRET_LOG_WARN | 2 | 警告 | 潛在問題、降級 |
| FTPRET_LOG_ERROR | 3 | 錯誤 | 功能失敗、異常捕獲 |
| FTPRET_LOG_FATAL | 4 | 致命 | 進程崩潰、數據損壞 |
__logic_ftpd_debug // 用戶配置的日志級別閾值
FTPRET_LOG_ERROR // 錯誤級別常量 (如 3)
if (用戶級別 >= 錯誤級別) // 即:用戶允許記錄「錯誤及以上」級別
記錄這條錯誤日志
__logic_ftpd_debug 即時生效。spdlog (C++), log4cplus, glog,內置分級、異步、滾動、格式化。LOG_ERROR(...) if (g_log_level >= LOG_ERROR) log(...) 避免參數副作用。這個 if 正是日志分級過濾的核心閘門。