| 1 | #include <boost/asio.hpp>
|
|---|
| 2 | #include <boost/log/attributes/attribute.hpp>
|
|---|
| 3 | #include <boost/log/attributes/attribute_cast.hpp>
|
|---|
| 4 | #include <boost/log/common.hpp>
|
|---|
| 5 | #include <boost/log/sinks.hpp>
|
|---|
| 6 | #include <boost/log/sinks/syslog_backend.hpp>
|
|---|
| 7 | #include <boost/log/sources/basic_logger.hpp>
|
|---|
| 8 | #include <boost/log/sources/severity_channel_logger.hpp>
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 | int main(int argc, char *argv[]) {
|
|---|
| 14 | namespace logging = boost::log;
|
|---|
| 15 | namespace sinks = boost::log::sinks;
|
|---|
| 16 | namespace src = boost::log::sources;
|
|---|
| 17 | namespace expr = boost::log::expressions;
|
|---|
| 18 | namespace attrs = boost::log::attributes;
|
|---|
| 19 | namespace keywords = boost::log::keywords;
|
|---|
| 20 | typedef sinks::synchronous_sink<sinks::syslog_backend> sink_t;
|
|---|
| 21 | boost::shared_ptr<logging::core> core = logging::core::get();
|
|---|
| 22 |
|
|---|
| 23 | // Create a new backend
|
|---|
| 24 | boost::shared_ptr<sinks::syslog_backend> backend(new sinks::syslog_backend(
|
|---|
| 25 | keywords::facility = sinks::syslog::local0,
|
|---|
| 26 | keywords::use_impl = sinks::syslog::udp_socket_based));
|
|---|
| 27 |
|
|---|
| 28 | // Setup the target address and port to send syslog messages to
|
|---|
| 29 | backend->set_target_address("localhost");
|
|---|
| 30 |
|
|---|
| 31 | // Create and fill in another level translator for "MyLevel" attribute of type
|
|---|
| 32 | sinks::syslog::custom_severity_mapping<std::string> mapping("MyLevel");
|
|---|
| 33 | mapping["debug"] = sinks::syslog::debug;
|
|---|
| 34 | mapping["normal"] = sinks::syslog::info;
|
|---|
| 35 | mapping["warning"] = sinks::syslog::warning;
|
|---|
| 36 | mapping["failure"] = sinks::syslog::critical;
|
|---|
| 37 | backend->set_severity_mapper(mapping);
|
|---|
| 38 |
|
|---|
| 39 | // Wrap it into the frontend and register in the core.
|
|---|
| 40 | core->add_sink(boost::make_shared<sink_t>(backend));
|
|---|
| 41 | src::severity_logger_mt<> logger;
|
|---|
| 42 |
|
|---|
| 43 | BOOST_LOG(logger) << "Initialized logger";
|
|---|
| 44 | boost::asio::io_service ioService;
|
|---|
| 45 | boost::asio::ip::udp::socket socket2(ioService);
|
|---|
| 46 |
|
|---|
| 47 | return 0;
|
|---|
| 48 | }
|
|---|