55 lines
1.7 KiB
C++
55 lines
1.7 KiB
C++
/*
|
||
* 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<logging::ILogHandler> * 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_ */
|