@@ -24,29 +24,47 @@ typedef enum {
2424 LOG_FATAL
2525} utils_log_level_t ;
2626
27- #define LOG_DEBUG (...) utils_log(LOG_DEBUG, __func__, __VA_ARGS__);
28- #define LOG_INFO (...) utils_log(LOG_INFO, __func__, __VA_ARGS__);
29- #define LOG_WARN (...) utils_log(LOG_WARNING, __func__, __VA_ARGS__);
30- #define LOG_ERR (...) utils_log(LOG_ERROR, __func__, __VA_ARGS__);
31- #define LOG_FATAL (...) utils_log(LOG_FATAL, __func__, __VA_ARGS__);
32-
33- #define LOG_PDEBUG (...) utils_plog(LOG_DEBUG, __func__, __VA_ARGS__);
34- #define LOG_PINFO (...) utils_plog(LOG_INFO, __func__, __VA_ARGS__);
35- #define LOG_PWARN (...) utils_plog(LOG_WARNING, __func__, __VA_ARGS__);
36- #define LOG_PERR (...) utils_plog(LOG_ERROR, __func__, __VA_ARGS__);
37- #define LOG_PFATAL (...) utils_plog(LOG_FATAL, __func__, __VA_ARGS__);
27+ #ifdef UMF_DEVELOPER_MODE
28+ #define UMF_STRINGIFY (x ) #x
29+ #define UMF_TOSTRING (x ) UMF_STRINGIFY(x)
30+ #define UMF_FILELINE_DESC () __FILE__ ":" UMF_TOSTRING(__LINE__)
31+ #else
32+ #define UMF_FILELINE_DESC () NULL
33+ #endif
34+
35+ #define LOG_DEBUG (...) \
36+ utils_log(LOG_DEBUG, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
37+ #define LOG_INFO (...) \
38+ utils_log(LOG_INFO, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
39+ #define LOG_WARN (...) \
40+ utils_log(LOG_WARNING, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
41+ #define LOG_ERR (...) \
42+ utils_log(LOG_ERROR, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
43+ #define LOG_FATAL (...) \
44+ utils_log(LOG_FATAL, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
45+
46+ #define LOG_PDEBUG (...) \
47+ utils_plog(LOG_DEBUG, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
48+ #define LOG_PINFO (...) \
49+ utils_plog(LOG_INFO, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
50+ #define LOG_PWARN (...) \
51+ utils_plog(LOG_WARNING, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
52+ #define LOG_PERR (...) \
53+ utils_plog(LOG_ERROR, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
54+ #define LOG_PFATAL (...) \
55+ utils_plog(LOG_FATAL, UMF_FILELINE_DESC(), __func__, __VA_ARGS__);
3856
3957void utils_log_init (void );
4058#ifdef _WIN32
41- void utils_log (utils_log_level_t level , const char * func , const char * format ,
42- ...);
43- void utils_plog (utils_log_level_t level , const char * func , const char * format ,
44- ...);
59+ void utils_log (utils_log_level_t level , const char * fileline , const char * func ,
60+ const char * format , ...);
61+ void utils_plog (utils_log_level_t level , const char * fileline , const char * func ,
62+ const char * format , ...);
4563#else
46- void utils_log (utils_log_level_t level , const char * func , const char * format ,
47- ...) __attribute__((format (printf , 3 , 4 )));
48- void utils_plog (utils_log_level_t level , const char * func , const char * format ,
49- ...) __attribute__((format (printf , 3 , 4 )));
64+ void utils_log (utils_log_level_t level , const char * fileline , const char * func ,
65+ const char * format , ...) __attribute__((format (printf , 4 , 5 )));
66+ void utils_plog (utils_log_level_t level , const char * fileline , const char * func ,
67+ const char * format , ...) __attribute__((format (printf , 4 , 5 )));
5068#endif
5169
5270extern const umf_ctl_node_t CTL_NODE (logger )[];
0 commit comments