0
debian9でsyslogバックエンドを使用するときに、ブーストログを設定して特定のファイルにログを送信することは可能ですか?syslogシンクを使用して特定のファイルにsyslogを昇格する
namespace logging = boost::log;
namespace sinks = boost::log::sinks;
namespace keywords = boost::log::keywords;
using namespace boost::log::sinks::syslog;
boost::shared_ptr<logging::core> core = logging::core::get();
boost::shared_ptr<sinks::syslog_backend> backend =
boost::make_shared<sinks::syslog_backend>(
keywords::use_impl = sinks::syslog::udp_socket_based,
keywords::facility = sinks::syslog::local0
);
// Create and fill in another level translator for "MyLevel" attribute of type string
sinks::syslog::custom_severity_mapping<std::string> mapping("MyLevel");
mapping["debug"] = sinks::syslog::debug;
mapping["info"] = sinks::syslog::info;
mapping["warning"] = sinks::syslog::warning;
mapping["error"] = sinks::syslog::error;
backend->set_severity_mapper(mapping);
backend->set_target_address("localhost");
// Wrap it into the frontend and register in the core.
// The backend requires synchronization in the frontend.
typedef sinks::synchronous_sink<sinks::syslog_backend> sink_t;
boost::shared_ptr<sink_t> sink(new sink_t(backend));
core->add_sink(sink);