52template <
typename CATEGORY>
class InstanceLogger {
54 InstanceLogger() =
default;
56 ~InstanceLogger() =
default;
58 InstanceLogger(
const InstanceLogger&) =
delete;
60 InstanceLogger& operator=(
const InstanceLogger&) =
delete;
66 ::logging ::Log<::logging ::Output2FILE<CATEGORY>>::set_reporting_level(l);
73 return ::logging ::Log<::logging ::Output2FILE<CATEGORY>>::get_reporting_level();
76 void log(
logging::log_level level,
const std::string& message,
unsigned line,
char const* file) {
78 logger->log(level, CATEGORY::name, message, line, file);
80 if(level <= _LOGGER(CATEGORY)::get_reporting_level() && _LOG_OUTPUT(CATEGORY)::stream())
85 void set_logger(
LoggerDelegate& logger) { this->logger = &logger; }