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