/* * AttachLogger.cpp * * Created on: 23 июл. 2020 г. * Author: LeonidTitov */ #include "AttachLogger.hh" application::log::AttachLogger::AttachLogger( const Links & links, const Setting & setting ) : links(links), setting(setting) {} bool application::log::AttachLogger::input( Environment & env ) { return grab( loggable, env.rholder.getShared( links.loggable ) ) and ( handler = env.rholder.getShared( links.handler ) ) and grab( provider, env.rholder.getShared( links.provider ) ); } void application::log::AttachLogger::build( Environment & env ) { Local local_provider( provider, *env.rholder.getShared( links.provider ) ); typedef logging::Logger Logger; uint16_t permission_policy = (setting.allow_information_log << 2) | (setting.allow_critical_log << 1) | setting.allow_error_log; Logger * logger = local_provider->get_logger( links.loggable, permission_policy, &env.static_object_ma); logger->add_handler(handler); loggable->add_logger(logger); }