@@ -317,6 +317,7 @@ extern fc_pool_t fc_log_pool; // log组件使用的内存池声明,在fc_log.c
317317 #define fc_log_merge_0 () \
318318 fc_log_merge_1({ (void)0; })
319319
320+ // 根据参数展开为0/1/2个参数的版本,超过2将报错,可以用复合语句{exp1;exp2...expN}算一个参数
320321 #define fc_log_merge (...) \
321322 FC_CONNECT2(fc_log_merge_, __PLOOC_VA_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)
322323
@@ -325,98 +326,34 @@ extern fc_pool_t fc_log_pool; // log组件使用的内存池声明,在fc_log.c
325326 { \
326327 if (_level <= FC_LOG_FILE_LEVEL) \
327328 fc_log_fprintf((fc_log_t *)(scope_log_ptr ? scope_log_ptr : &FC_LOG_OBJ), _level, text "" fmt "" FC_LOG_END, FC_LOG_PREFIX_CONTENT, ##__VA_ARGS__); \
329+ if (scope_log_ptr) \
330+ { \
331+ fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
332+ SAFE_NAME(log_temp_ptr)->last_level = _level; /* 临时对象实体记录临时等级 */ \
333+ } \
328334 } while (0 )
329335
330- //+********************************* 期望使用 **********************************/
331- #if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_ERROR
332- #define fc_log_error (fmt , ...) \
333- fc_log_format(FC_ERROR_TEXT, FC_LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__)
334- #else
335- #define fc_log_error (fmt , ...) \
336- do \
337- { \
338- if (scope_log_ptr) \
339- { \
340- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
341- SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_ERROR; /* 临时对象实体记录临时等级 */ \
342- } \
343- } while (0 );
344- #endif
336+ //+********************************* 期望使用 **********************************/
337+ #define fc_log_error (fmt , ...) \
338+ fc_log_format(FC_ERROR_TEXT, FC_LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__)
345339
346- #if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_WARNING
347- #define fc_log_warning (fmt , ...) \
348- fc_log_format(FC_WARNING_TEXT, FC_LOG_LEVEL_WARNING, fmt, ##__VA_ARGS__)
349- #else
350- #define fc_log_warning (fmt , ...) \
351- do \
352- { \
353- if (scope_log_ptr) \
354- { \
355- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
356- SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_WARNING; /* 临时对象实体记录临时等级 */ \
357- } \
358- } while (0 );
359- #endif
340+ #define fc_log_warning (fmt , ...) \
341+ fc_log_format(FC_WARNING_TEXT, FC_LOG_LEVEL_WARNING, fmt, ##__VA_ARGS__)
360342
361- #if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_INFO
362- #define fc_log_info (fmt , ...) \
363- fc_log_format(FC_INFO_TEXT, FC_LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
364- #else
365- #define fc_log_info (fmt , ...) \
366- do \
367- { \
368- if (scope_log_ptr) \
369- { \
370- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
371- SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_INFO; /* 临时对象实体记录临时等级 */ \
372- } \
373- } while (0 );
374- #endif
343+ #define fc_log_info (fmt , ...) \
344+ fc_log_format(FC_INFO_TEXT, FC_LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
375345
376- #if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_DEBUG
377- #define fc_log_debug (fmt , ...) \
378- fc_log_format(FC_DEBUG_TEXT, FC_LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__)
379- #else
380- #define fc_log_debug (fmt , ...) \
381- do \
382- { \
383- if (scope_log_ptr) \
384- { \
385- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
386- SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_DEBUG; /* 临时对象实体记录临时等级 */ \
387- } \
388- } while (0 );
389- #endif
346+ #define fc_log_debug (fmt , ...) \
347+ fc_log_format(FC_DEBUG_TEXT, FC_LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__)
390348
391- #if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_VERBOSE
392- #define fc_log_verbose (fmt , ...) \
393- fc_log_format(FC_VERBOSE_TEXT, FC_LOG_LEVEL_VERBOSE, fmt, ##__VA_ARGS__)
394- #else
395- #define fc_log_verbose (fmt , ...) \
396- do \
397- { \
398- if (scope_log_ptr) \
399- { \
400- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
401- SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_VERBOSE; /* 临时对象实体记录临时等级 */ \
402- } \
403- } while (0 );
404- #endif
349+ #define fc_log_verbose (fmt , ...) \
350+ fc_log_format(FC_VERBOSE_TEXT, FC_LOG_LEVEL_VERBOSE, fmt, ##__VA_ARGS__)
405351
406- #define fc_log_printf (fmt , ...) \
407- do \
408- { \
409- fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)(scope_log_ptr ? scope_log_ptr : &FC_LOG_OBJ); \
410- if (SAFE_NAME(log_temp_ptr)->last_level <= FC_LOG_FILE_LEVEL) \
411- fc_log_format("", SAFE_NAME(log_temp_ptr)->last_level, fmt, ##__VA_ARGS__); \
412- } while (0)
352+ #define fc_log_printf (fmt , ...) \
353+ fc_log_format("", (scope_log_ptr ? scope_log_ptr->last_level : FC_LOG_LEVEL_NONE), fmt, ##__VA_ARGS__);
413354
414- #define fc_log_printf_lv (_level , fmt , ...) \
415- do \
416- { \
417- if (_level <= FC_LOG_FILE_LEVEL) \
418- fc_log_format("", _level, fmt, ##__VA_ARGS__); \
419- } while (0)
355+ #define fc_log_printf_lv (_level , fmt , ...) \
356+ fc_log_format("", _level, fmt, ##__VA_ARGS__);
420357
421358 #define fc_log_assert (expr , ...) \
422359 if (!(expr)) \
0 commit comments