Re: [Boost-bugs] [Boost C++ Libraries] #12600: Syslog broken in 1.62.0

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12600: Syslog broken in 1.62.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-11-10 14:34:29


#12600: Syslog broken in 1.62.0
-------------------------------+-------------------------
  Reporter: mario.m.kaip@… | Owner: andysem
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: log
   Version: Boost 1.62.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------+-------------------------

Comment (by anonymous):

 I created a minimal example for syslog using code from
 [http://www.boost.org/doc/libs/1_62_0/libs/log/doc/html/log/detailed/sink_backends.html]

 Minimal example:

 {{{
 #define BOOST_LOG_DYN_LINK
 #define BOOST_LOG_USE_NATIVE_SYSLOG

 #include <boost/log/core.hpp>
 #include <boost/log/sources/logger.hpp>

 #include <boost/smart_ptr/shared_ptr.hpp>
 #include <boost/log/common.hpp>
 #include <boost/log/sinks/sync_frontend.hpp>
 #include <boost/log/sinks/syslog_backend.hpp>

 // Complete sink type
 typedef boost::log::sinks::synchronous_sink<
 boost::log::sinks::syslog_backend > sink_t;

 namespace logging = boost::log;
 namespace sinks = boost::log::sinks;
 namespace keywords = boost::log::keywords;
 namespace sources = boost::log::sources;

 void init_native_syslog()
 {
     boost::shared_ptr< logging::core > core = logging::core::get();

     // Create a backend
     boost::shared_ptr< sinks::syslog_backend > backend(new
 sinks::syslog_backend(
         keywords::facility = sinks::syslog::user,
         keywords::use_impl = sinks::syslog::native
     ));

     // Set the straightforward level translator for the "Severity"
 attribute of type int
     backend->set_severity_mapper(sinks::syslog::direct_severity_mapping<
 int >("Severity"));

     // Wrap it into the frontend and register in the core.
     // The backend requires synchronization in the frontend.
     core->add_sink(boost::make_shared< sink_t >(backend));
 }

 int main(int argc, char** argv) {

     init_native_syslog();

     sources::logger logger;
     BOOST_LOG(logger) << "TEST_SYSLOG";

     return 0;
 }
 }}}

 Compiled with Intel compiler:

 icpc -m64 -c -g -Ideps/include -std=c++11 -MMD -MP -MF "main.o.d" -o
 main.o main.cpp

 icpc -m64 -o syslog-testprogram main.o -Ldeps/libs -Wl,-rpath,'deps/libs'
 -lboost_log -lboost_log_setup -lboost_system -lboost_thread

 Boost is located in ./deps relative to main.cpp.
 The strace produced with boost 1.61.0 and 1.62.0 is attached. I can't see
 useful information there.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12600#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC