Я реализую оболочку в Boost.log для ведения журналов syn c и asyn c способами. Как показано ниже, я определил фронт асинхронной мойки с syslog_backend
.
typedef sinks::asynchronous_sink<
sinks::syslog_backend,
sinks::unbounded_ordering_queue<
logging::attribute_value_ordering< unsigned int, std::less< unsigned int > >
>
> Async_syslog_sink;
Но внутри init (), когда я использую это определение для создания серверной части и добавления в logging :: core, произошла ошибка.
// Create a backend
boost::shared_ptr< Async_syslog_sink > sink(new Async_syslog_sink(
keywords::facility = sinks::syslog::user,
keywords::use_impl = sinks::syslog::native
));
sink->set_formatter(&my_formatter);
logging::core::get()->add_sink(sink);
Ошибка:
/ usr / include / boost / log / sinks / async_frontend.hpp: в экземпляре 'boost :: log :: v2_mt_posix :: sinks :: asynchronous_sink :: asynchronous_sink (bool) [с SinkBackendT = повышение :: войти :: v2_mt_posix :: тонет :: syslog_backend; QueueingStrategyT = boost :: log :: v2_mt_posix :: sinks :: unbounded_ordering_queue>>] ': /root/sample-logger/src/Loggers/Async/AsyncLogger.h:314:9:
требуется отсюда / usr / include / boost / log / sinks / async_frontend.hpp: 230: 31: ошибка: нет соответствующей функции для вызова 'boost :: log :: v2_mt_posix :: sinks :: unbounded_ordering_queue>> :: unbounded_ordering_queue ()' m_FlushRequested (false)
Как я могу иметь асинхронный регистратор с бэкэндом syslog?
спасибо.