|
8 | 8 |
|
9 | 9 | namespace odr { |
10 | 10 |
|
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 | | - |
29 | 11 | enum class LogLevel { |
30 | 12 | verbose = 0, |
31 | 13 | debug, |
@@ -77,3 +59,19 @@ class Logger { |
77 | 59 | }; |
78 | 60 |
|
79 | 61 | } // 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) |
0 commit comments