Skip to content

Commit aacb1a7

Browse files
committed
relax macro use
1 parent ea8c937 commit aacb1a7

2 files changed

Lines changed: 20 additions & 20 deletions

File tree

src/odr/logger.hpp

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,6 @@
88

99
namespace odr {
1010

11-
#define ODR_LOG(level, message) \
12-
do { \
13-
if (logger().will_log(level)) { \
14-
std::stringstream ss; \
15-
ss << message; \
16-
logger().log(level, ss.str()); \
17-
} \
18-
} while (0)
19-
#define ODR_VERBOSE(message) ODR_LOG(LogLevel::verbose, message)
20-
#define ODR_DEBUG(message) ODR_LOG(LogLevel::debug, message)
21-
#define ODR_INFO(message) ODR_LOG(LogLevel::info, message)
22-
#define ODR_WARNING(message) ODR_LOG(LogLevel::warning, message)
23-
#define ODR_ERROR(message) ODR_LOG(LogLevel::error, message)
24-
#define ODR_FATAL(message) ODR_LOG(LogLevel::fatal, message)
25-
26-
#define ODR_LOCAL_LOGGER(_logger) \
27-
const auto logger = [l = _logger]() -> odr::Logger & { return *l; }
28-
2911
enum class LogLevel {
3012
verbose = 0,
3113
debug,
@@ -77,3 +59,19 @@ class Logger {
7759
};
7860

7961
} // namespace odr
62+
63+
#define ODR_LOG(logger, level, message) \
64+
do { \
65+
odr::Logger *_l = &(*logger); \
66+
if (_l->will_log(level)) { \
67+
std::stringstream ss; \
68+
ss << message; \
69+
_l->log(level, ss.str()); \
70+
} \
71+
} while (0)
72+
#define ODR_VERBOSE(logger, message) ODR_LOG(logger, LogLevel::verbose, message)
73+
#define ODR_DEBUG(logger, message) ODR_LOG(logger, LogLevel::debug, message)
74+
#define ODR_INFO(logger, message) ODR_LOG(logger, LogLevel::info, message)
75+
#define ODR_WARNING(logger, message) ODR_LOG(logger, LogLevel::warning, message)
76+
#define ODR_ERROR(logger, message) ODR_LOG(logger, LogLevel::error, message)
77+
#define ODR_FATAL(logger, message) ODR_LOG(logger, LogLevel::fatal, message)

test/src/logger_test.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
using namespace odr;
66

77
TEST(Logger, stdout) {
8-
ODR_LOCAL_LOGGER(Logger::create_stdio("test", LogLevel::verbose));
8+
auto logger = Logger::create_stdio("test", LogLevel::verbose);
99

10-
ODR_VERBOSE("Test message with verbose level");
10+
logger->log(LogLevel::verbose, "Test message with log function");
11+
12+
ODR_VERBOSE(logger, "Test message with verbose log macro");
1113
}

0 commit comments

Comments
 (0)