22 #ifndef NDN_UTIL_LOGGING_HPP
23 #define NDN_UTIL_LOGGING_HPP
25 #include "../common.hpp"
27 #ifdef HAVE_NDN_CXX_CUSTOM_LOGGER
28 #include "ndn-cxx-custom-logging.hpp"
31 #include <boost/log/sinks.hpp>
33 #include <unordered_map>
112 addLoggerImpl(
Logger& logger);
115 setLevelImpl(
const std::string& moduleName,
LogLevel level);
121 setLevelImpl(
const std::string& config);
124 setDestinationImpl(shared_ptr<std::ostream> os);
133 #ifdef NDN_CXX_HAVE_TESTS
135 removeLogger(
Logger& logger);
143 shared_ptr<std::ostream>
145 #endif // NDN_CXX_HAVE_TESTS
149 std::unordered_map<std::string, LogLevel> m_enabledLevel;
150 std::unordered_multimap<std::string, Logger*> m_loggers;
152 shared_ptr<std::ostream> m_destination;
153 typedef boost::log::sinks::asynchronous_sink<boost::log::sinks::text_ostream_backend> Sink;
154 boost::shared_ptr<Sink> m_sink;
160 get().addLoggerImpl(logger);
166 get().setLevelImpl(moduleName, level);
172 get().setLevelImpl(config);
178 get().setDestinationImpl(os);
191 #endif // HAVE_NDN_CXX_CUSTOM_LOGGER
193 #endif // NDN_UTIL_LOGGING_HPP
controls the logging facility
static void addLogger(Logger &logger)
register a new logger
Copyright (c) 2013-2016 Regents of the University of California.
static void setDestination(shared_ptr< std::ostream > os)
set log destination
#define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE
static void setLevel(const std::string &moduleName, LogLevel level)
set severity level
LogLevel
indicates the severity level of a log message
static void flush()
flush log backend
represents a logger in logging facility