52template <
int DEFAULT_LOG_LEVEL,
int MAX_LEVEL = LOG_LEVEL_DEBUG>
56 static constexpr int max_log_level = std::max(MAX_LEVEL, DEFAULT_LOG_LEVEL);
89 template <
int LEVEL,
typename T>
105 template <
typename T>
108 log<LOG_LEVEL_TRACE>(std::forward<T>(
msg));
116 template <
typename T>
119 log<LOG_LEVEL_DEBUG>(std::forward<T>(
msg));
127 template <
typename T>
130 log<LOG_LEVEL_INFO>(std::forward<T>(
msg));
137 template <
typename T>
140 log<LOG_LEVEL_VERB>(std::forward<T>(
msg));
147 template <
typename T>
150 log<LOG_LEVEL_ERROR>(std::forward<T>(
msg));
163template <
int DEFAULT_LOG_LEVEL,
int MAX_LEVEL = LOG_LEVEL_TRACE,
typename TagT = std::
nullptr_t>
197#define LOGGER_LOG(VERB, logger, args) \
200 if constexpr (decltype(logger)::max_log_level >= openvpn::logging::LOG_LEVEL_##VERB) \
202 if (logger.log_level() >= openvpn::logging::LOG_LEVEL_##VERB) \
204 std::ostringstream _ovpn_log_ss; \
205 _ovpn_log_ss << args; \
206 logger.log_info(_ovpn_log_ss.str()); \
211#define LOGGER_LOG_INFO(logger, args) LOGGER_LOG(INFO, logger, args)
212#define LOGGER_LOG_VERBOSE(logger, args) LOGGER_LOG(VERB, logger, args)
213#define LOGGER_LOG_DEBUG(logger, args) LOGGER_LOG(DEBUG, logger, args)
214#define LOGGER_LOG_TRACE(logger, args) LOGGER_LOG(TRACE, logger, args)
215#define LOGGER_LOG_ERROR(logger, args) LOGGER_LOG(ERROR, logger, args)
223#define OVPN_LOG_ERROR(args) LOGGER_LOG_ERROR(log_, args)
224#define OVPN_LOG_INFO(args) LOGGER_LOG_INFO(log_, args)
225#define OVPN_LOG_VERBOSE(args) LOGGER_LOG_VERBOSE(log_, args)
226#define OVPN_LOG_DEBUG(args) LOGGER_LOG_DEBUG(log_, args)
227#define OVPN_LOG_TRACE(args) LOGGER_LOG_TRACE(log_, args)
void log_info(T &&msg) const
static constexpr int default_log_level
static constexpr int max_log_level
void log_error(T &&msg) const
void set_log_level(int level)
set the log level for all loggigng
void log_verbose(T &&msg) const
void log_trace(T &&msg) const
std::string log_prefix() const
return the current prefix all logging
int current_log_level
configured loglevel
int log_level() const
return the current logging level for all logging
void log_debug(T &&msg) const
void set_log_prefix(const std::string &prefix)
set the log prefix for all loggigng
static int log_level()
return the current logging level for all logging
static constexpr int max_log_level
static constexpr int default_log_level
static logging::Logger< DEFAULT_LOG_LEVEL, MAX_LEVEL > log_
static void set_log_level(int level)
set the log level for all loggigng
#define OPENVPN_LOG(args)
constexpr int LOG_LEVEL_VERB
constexpr int LOG_LEVEL_ERROR
constexpr int LOG_LEVEL_INFO
constexpr int LOG_LEVEL_DEBUG
constexpr int LOG_LEVEL_TRACE