TARAXA
logger.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <boost/log/sources/severity_channel_logger.hpp>
4 #include <string>
5 
7 
8 namespace taraxa::logger {
9 
10 // Concurrent (Thread-safe) logger type
11 using Logger = boost::log::sources::severity_channel_logger_mt<>;
12 
39 Logger createLogger(Verbosity verboseLevel, const std::string& channel, const addr_t& node_id);
40 
47 
54 void InitLogging(Config& logging_config, const addr_t& node_id);
55 
56 } // namespace taraxa::logger
57 
58 #define LOG BOOST_LOG
59 
60 #define LOG_OBJECTS_DEFINE \
61  mutable taraxa::logger::Logger log_si_; \
62  mutable taraxa::logger::Logger log_er_; \
63  mutable taraxa::logger::Logger log_wr_; \
64  mutable taraxa::logger::Logger log_nf_; \
65  mutable taraxa::logger::Logger log_dg_; \
66  mutable taraxa::logger::Logger log_tr_;
67 
68 #define LOG_OBJECTS_DEFINE_SUB(group) \
69  mutable taraxa::logger::Logger log_si_##group##_; \
70  mutable taraxa::logger::Logger log_er_##group##_; \
71  mutable taraxa::logger::Logger log_wr_##group##_; \
72  mutable taraxa::logger::Logger log_nf_##group##_; \
73  mutable taraxa::logger::Logger log_dg_##group##_; \
74  mutable taraxa::logger::Logger log_tr_##group##_;
75 
76 #define LOG_OBJECTS_CREATE(channel) \
77  log_si_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Silent, channel, node_addr); \
78  log_er_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Error, channel, node_addr); \
79  log_wr_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Warning, channel, node_addr); \
80  log_nf_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Info, channel, node_addr); \
81  log_tr_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Trace, channel, node_addr); \
82  log_dg_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Debug, channel, node_addr);
83 
84 #define LOG_OBJECTS_CREATE_SUB(channel, group) \
85  log_si_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Silent, channel, node_addr); \
86  log_er_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Error, channel, node_addr); \
87  log_wr_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Warning, channel, node_addr); \
88  log_nf_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Info, channel, node_addr); \
89  log_tr_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Trace, channel, node_addr); \
90  log_dg_##group##_ = taraxa::logger::createLogger(taraxa::logger::Verbosity::Debug, channel, node_addr);
Definition: FixedHash.h:35
Definition: logger_config.hpp:34
Definition: logger.hpp:8
void InitLogging(Config &logging_config, const addr_t &node_id)
Initializes logging according to the provided logging_config.
Definition: logger.cpp:41
Logger createLogger(Verbosity verboseLevel, const std::string &channel, const addr_t &node_id)
Creates thread-safe severity channel logger.
Definition: logger.cpp:30
boost::log::sources::severity_channel_logger_mt<> Logger
Definition: logger.hpp:11
Config createDefaultLoggingConfig()
Creates default logging config.
Definition: logger.cpp:39
Verbosity
Definition: logger_config.hpp:17