add AdcOstreamLogger class (std::basic_stream based multithread-safe

simple logger)
This commit is contained in:
2024-11-12 18:07:00 +03:00
parent 9769c24005
commit 7251f95459
2 changed files with 97 additions and 2 deletions

View File

@@ -227,12 +227,25 @@ concept adc_netsession_proto_c =
/* LOGGER */
template <typename LOGGERT>
concept adc_logger_c = requires(LOGGERT log) {
// logging method must accept at least the single argument - formating string
concept adc_logger_c = requires(LOGGERT log, const LOGGERT log_const) {
typename LOGGERT::loglevel_t;
log.setLogLevel(std::declval<typename LOGGERT::loglevel_t>());
{ log_const.getLogLevel() } -> std::same_as<typename LOGGERT::loglevel_t>;
// logging method signature:
// void method(std::string_view fmt, traits::formattable auto&& args...)
// logging method must accept at least the single argument - formatting string
log.logInfo(std::declval<std::string_view>());
// method must be defined at least for std::string as its argument
log.logInfo(std::declval<std::string_view>(), std::declval<std::string>());
log.logWarn(std::declval<std::string_view>());
log.logWarn(std::declval<std::string_view>(), std::declval<std::string>());
log.logError(std::declval<std::string_view>());
log.logError(std::declval<std::string_view>(), std::declval<std::string>());
};