55 lines
1.5 KiB
C++
55 lines
1.5 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_ */
|