|
|
|
@ -194,37 +194,37 @@ void critical(loc_with_fmt fmt, Args &&...args)
|
|
|
|
|
|
|
|
|
|
// log functions with no format string, just string
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void trace(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void trace(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::trace, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void debug(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void debug(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::debug, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void info(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void info(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::info, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void warn(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void warn(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::warn, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void error(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void error(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::err, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void critical(const S &msg, source_loc loc = source_loc::current())
|
|
|
|
|
void critical(const S msg, source_loc loc = source_loc::current())
|
|
|
|
|
{
|
|
|
|
|
log(loc, level::critical, msg);
|
|
|
|
|
}
|
|
|
|
@ -267,37 +267,37 @@ void critical(format_string_t<Args...> fmt, Args &&...args)
|
|
|
|
|
|
|
|
|
|
// log functions with no format string, just string
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void trace(const S &msg)
|
|
|
|
|
void trace(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::trace, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void debug(const S &msg)
|
|
|
|
|
void debug(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::debug, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void info(const S &msg)
|
|
|
|
|
void info(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::info, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void warn(const S &msg)
|
|
|
|
|
void warn(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::warn, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void error(const S &msg)
|
|
|
|
|
void error(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::err, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename S, typename = is_convertible_to_sv<S>>
|
|
|
|
|
void critical(const S &msg)
|
|
|
|
|
void critical(const S msg)
|
|
|
|
|
{
|
|
|
|
|
log(level::critical, msg);
|
|
|
|
|
}
|
|
|
|
|