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