#include #include #include #include #include namespace Poco::Util { class AbstractConfiguration; } class Loggers { public: /// Строит необходимые логгеры void buildLoggers(Poco::Util::AbstractConfiguration & config, Poco::Logger & logger, const std::string & cmd_name = ""); /// Закрыть файлы с логами. При следующей записи, будут созданы новые файлы. void closeLogs(Poco::Logger & logger); std::optional getLayer() const { return layer; /// layer выставляется в классе-наследнике BaseDaemonApplication. } protected: std::optional layer; private: /// Файлы с логами. Poco::AutoPtr log_file; Poco::AutoPtr error_log_file; Poco::AutoPtr syslog_channel; /// Previous value of logger element in config. It is used to reinitialize loggers whenever the value changed. std::string config_logger; };