You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
1.5 KiB

#pragma once
#include "fmt/format.h"
#include <syslog.h>
namespace SysLog
{
template<typename... Args>
void
log(int priority_,
fmt::format_string<Args...> format_,
Args&&... args)
{
auto msg = fmt::format(format_,std::forward<Args>(args)...);
syslog(priority_,"%s",msg.c_str());
}
template<typename... Args>
void
info(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_INFO,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
debug(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_DEBUG,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
notice(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_NOTICE,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
warning(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_WARNING,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
error(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_ERR,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
alert(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_ALERT,format_,std::forward<Args>(args)...);
}
template<typename... Args>
void
crit(fmt::format_string<Args...> format_,
Args&&... args)
{
SysLog::log(LOG_CRIT,format_,std::forward<Args>(args)...);
}
}