/* * AttachLogger.hh * * Created on: 22 июл. 2020 г. * Author: LeonidTitov */ #ifndef UMLIBRARY_APPLICATION_LOG_ATTACHLOGGER_HH_ #define UMLIBRARY_APPLICATION_LOG_ATTACHLOGGER_HH_ #include "../../logging/ILoggable.hh" #include "../../logging/ILogHandler.hh" #include "../../logging/LoggerProviderMethods.hh" #include "../ISetupStep.hh" namespace application { namespace log { struct AttachLogger : public ISetupStep { ResourceKeeper * handler = nullptr; logging::ILoggable * loggable = nullptr; logging::LoggerProviderMethods * provider = nullptr; struct Links { Environment::Id handler; //!<Владелец способа хранения журнала. Environment::Id loggable; //!<Клиент поддерживающий регистрацию информации о работе. Environment::Id provider; //!<Представитель доступа к журналам. }; //!Политика приоритетов сообщений. struct Setting { uint16_t allow_information_log; //!<Разрешение регистрации информационных сообщений. uint16_t allow_critical_log; //!<Разрешение регистрации критических сообщений. uint16_t allow_error_log; //!<Разрешение регистрации сообщений об ошибке. }; const Links & links; const Setting & setting; bool input(Environment& env); void build(Environment& env); AttachLogger( const Links & links, const Setting & setting ); }; } } #endif /* UMLIBRARY_APPLICATION_LOG_ATTACHLOGGER_HH_ */