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 | }
|
---|