New log function to enable wrappers with local filters

pull/283/head
Mats Webjörn 9 years ago
parent 5653e5c9d7
commit 19aff4691b

@ -59,10 +59,8 @@ inline void spdlog::logger::set_pattern(const std::string& pattern)
template <typename... Args>
inline void spdlog::logger::log(level::level_enum lvl, const char* fmt, const Args&... args)
inline void spdlog::logger::log_nofilter(level::level_enum lvl, const char* fmt, const Args&... args)
{
if (!should_log(lvl)) return;
try
{
details::log_msg log_msg(&_name, lvl);
@ -80,9 +78,8 @@ inline void spdlog::logger::log(level::level_enum lvl, const char* fmt, const Ar
}
template <typename... Args>
inline void spdlog::logger::log(level::level_enum lvl, const char* msg)
inline void spdlog::logger::log_nofilter(level::level_enum lvl, const char* msg)
{
if (!should_log(lvl)) return;
try
{
details::log_msg log_msg(&_name, lvl);
@ -97,13 +94,11 @@ inline void spdlog::logger::log(level::level_enum lvl, const char* msg)
{
_err_handler("Unknown exception");
}
}
template<typename T>
inline void spdlog::logger::log(level::level_enum lvl, const T& msg)
inline void spdlog::logger::log_nofilter(level::level_enum lvl, const T& msg)
{
if (!should_log(lvl)) return;
try
{
details::log_msg log_msg(&_name, lvl);
@ -120,6 +115,23 @@ inline void spdlog::logger::log(level::level_enum lvl, const T& msg)
}
}
template <typename... Args>
inline void spdlog::logger::log(level::level_enum lvl, const char* fmt, const Args&... args)
{
if (should_log(lvl)) log_nofilter(lvl, fmt, args...);
}
template <typename... Args>
inline void spdlog::logger::log(level::level_enum lvl, const char* msg)
{
if (should_log(lvl)) log_nofilter(lvl, msg);
}
template<typename T>
inline void spdlog::logger::log(level::level_enum lvl, const T& msg)
{
if (should_log(lvl)) log_nofilter(lvl, msg);
}
template <typename... Args>
inline void spdlog::logger::trace(const char* fmt, const Args&... args)

@ -37,6 +37,8 @@ public:
template <typename... Args> void log(level::level_enum lvl, const char* fmt, const Args&... args);
template <typename... Args> void log(level::level_enum lvl, const char* msg);
template <typename... Args> void log_nofilter(level::level_enum lvl, const char* fmt, const Args&... args);
template <typename... Args> void log_nofilter(level::level_enum lvl, const char* msg);
template <typename... Args> void trace(const char* fmt, const Args&... args);
template <typename... Args> void debug(const char* fmt, const Args&... args);
template <typename... Args> void info(const char* fmt, const Args&... args);
@ -45,6 +47,7 @@ public:
template <typename... Args> void critical(const char* fmt, const Args&... args);
template <typename T> void log(level::level_enum lvl, const T&);
template <typename T> void log_nofilter(level::level_enum lvl, const T&);
template <typename T> void trace(const T&);
template <typename T> void debug(const T&);
template <typename T> void info(const T&);

Loading…
Cancel
Save