lokinet/llarp/util/logging/syslog_logger.cpp
Jeff Becker 5c457ff486
refactor logging to use std::source_location
* use std::source_location instead of godawful macros in logging
* remove unused/absolutely haram af json logstream
* fix bug in android logger where it doesn't respect eLogNone
2021-10-06 11:10:48 -04:00

52 lines
1.1 KiB
C++

#ifndef _WIN32
#include "logger_syslog.hpp"
#include "logger_internal.hpp"
#include <syslog.h>
namespace llarp
{
void
SysLogStream::PreLog(
std::stringstream& ss,
LogLevel lvl,
std::string_view filename,
int lineno,
const std::string& nodename) const
{
ss << "[" << LogLevelToString(lvl) << "] ";
ss << "[" << nodename << "]"
<< "(" << thread_id_string() << ") " << log_timestamp() << " " << filename << ":" << lineno
<< "\t";
}
void
SysLogStream::Print(LogLevel lvl, std::string_view, const std::string& msg)
{
switch (lvl)
{
case eLogNone:
return;
case eLogTrace:
case eLogDebug:
::syslog(LOG_DEBUG, "%s", msg.c_str());
return;
case eLogInfo:
::syslog(LOG_INFO, "%s", msg.c_str());
return;
case eLogWarn:
::syslog(LOG_WARNING, "%s", msg.c_str());
return;
case eLogError:
::syslog(LOG_ERR, "%s", msg.c_str());
return;
}
}
void
SysLogStream::PostLog(std::stringstream&) const
{}
} // namespace llarp
#endif