我寫了一個具有多個日誌級別的日誌記錄機制。C宏定義帶條件的前綴宏
LOG_FATAL(s)
LOG_ERROR(s)
LOG_WARN(s)
...
現在我想能夠激活或停用某些模塊的日誌記錄。 我現在在做什麼:
#ifdef MOUDLE_LOG_ON
MODULE_LOG_FATAL(s) LOG_FATAL(s)
MODULE_LOG_ERROR(s) LOG_ERROR(s)
MODULE_LOG_WARN(s) LOG_WARN(s)
...
#else
MODULE_LOG_FATAL(s)
MODULE_LOG_ERROR(s)
MODULE_LOG_WARN(s)
...
#endif
有沒有辦法來放置前綴在宏使用它是這樣的:
SETUPLOGGING(MODULE)
我想這甚至不編譯。也許'#define'不會出錯 –