mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Avoid log argument evaluation when level is disabled
This commit is contained in:
parent
52accfde80
commit
dd4b72e046
1 changed files with 37 additions and 6 deletions
|
|
@ -102,12 +102,43 @@ private:
|
|||
void ensureFile();
|
||||
};
|
||||
|
||||
// Convenience macros
|
||||
#define LOG_DEBUG(...) wowee::core::Logger::getInstance().debug(__VA_ARGS__)
|
||||
#define LOG_INFO(...) wowee::core::Logger::getInstance().info(__VA_ARGS__)
|
||||
#define LOG_WARNING(...) wowee::core::Logger::getInstance().warning(__VA_ARGS__)
|
||||
#define LOG_ERROR(...) wowee::core::Logger::getInstance().error(__VA_ARGS__)
|
||||
#define LOG_FATAL(...) wowee::core::Logger::getInstance().fatal(__VA_ARGS__)
|
||||
// Convenience macros.
|
||||
// Guard calls at the macro site so variadic arguments are not evaluated
|
||||
// when the corresponding level is disabled.
|
||||
#define LOG_DEBUG(...) do { \
|
||||
auto& _wowee_logger = wowee::core::Logger::getInstance(); \
|
||||
if (_wowee_logger.shouldLog(wowee::core::LogLevel::DEBUG)) { \
|
||||
_wowee_logger.debug(__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_INFO(...) do { \
|
||||
auto& _wowee_logger = wowee::core::Logger::getInstance(); \
|
||||
if (_wowee_logger.shouldLog(wowee::core::LogLevel::INFO)) { \
|
||||
_wowee_logger.info(__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_WARNING(...) do { \
|
||||
auto& _wowee_logger = wowee::core::Logger::getInstance(); \
|
||||
if (_wowee_logger.shouldLog(wowee::core::LogLevel::WARNING)) { \
|
||||
_wowee_logger.warning(__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_ERROR(...) do { \
|
||||
auto& _wowee_logger = wowee::core::Logger::getInstance(); \
|
||||
if (_wowee_logger.shouldLog(wowee::core::LogLevel::ERROR)) { \
|
||||
_wowee_logger.error(__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_FATAL(...) do { \
|
||||
auto& _wowee_logger = wowee::core::Logger::getInstance(); \
|
||||
if (_wowee_logger.shouldLog(wowee::core::LogLevel::FATAL)) { \
|
||||
_wowee_logger.fatal(__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
} // namespace core
|
||||
} // namespace wowee
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue