mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
don't break win32
This commit is contained in:
10
Log.cpp
10
Log.cpp
@@ -10,7 +10,7 @@ static const char * g_LogLevelStr[eNumLogLevels] =
|
||||
"info", // eLogInfo
|
||||
"debug" // eLogDebug
|
||||
};
|
||||
|
||||
#ifndef _WIN32
|
||||
/** convert LogLevel enum to syslog priority level */
|
||||
static int ToSyslogLevel(LogLevel lvl)
|
||||
{
|
||||
@@ -28,15 +28,17 @@ static int ToSyslogLevel(LogLevel lvl)
|
||||
return LOG_CRIT;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void LogMsg::Process()
|
||||
{
|
||||
#ifndef _WIN32
|
||||
if (log && log->SyslogEnabled()) {
|
||||
// only log to syslog
|
||||
syslog(ToSyslogLevel(level), "%s", s.str().c_str());
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
auto stream = log ? log->GetLogStream () : nullptr;
|
||||
auto& output = stream ? *stream : std::cout;
|
||||
if (log)
|
||||
@@ -111,14 +113,18 @@ void Log::SetLogStream (std::shared_ptr<std::ostream> logStream)
|
||||
|
||||
void Log::StartSyslog(const std::string & ident, const int facility)
|
||||
{
|
||||
#ifndef _WIN32
|
||||
m_Ident = ident;
|
||||
openlog(m_Ident.c_str(), LOG_PID, facility);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Log::StopSyslog()
|
||||
{
|
||||
#ifndef _WIN32
|
||||
closelog();
|
||||
m_Ident.clear();
|
||||
#endif
|
||||
}
|
||||
|
||||
bool Log::SyslogEnabled()
|
||||
|
||||
11
Log.h
11
Log.h
@@ -8,9 +8,12 @@
|
||||
#include <functional>
|
||||
#include <chrono>
|
||||
#include <memory>
|
||||
#include <syslog.h>
|
||||
#include "Queue.h"
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <syslog.h>
|
||||
#endif
|
||||
|
||||
enum LogLevel
|
||||
{
|
||||
eLogError = 0,
|
||||
@@ -48,7 +51,7 @@ class Log: public i2p::util::MsgQueue<LogMsg>
|
||||
LogLevel GetLogLevel () { return m_MinLevel; };
|
||||
const std::string& GetFullFilePath () const { return m_FullFilePath; };
|
||||
/** start logging to syslog */
|
||||
void StartSyslog(const std::string & ident, const int facility = LOG_USER);
|
||||
void StartSyslog(const std::string & ident, const int facility);
|
||||
/** stop logging to syslog */
|
||||
void StopSyslog();
|
||||
/** are we logging to syslog right now? */
|
||||
@@ -126,7 +129,9 @@ inline bool IsLogToFile ()
|
||||
inline void StartSyslog()
|
||||
{
|
||||
StartLog("");
|
||||
g_Log->StartSyslog("i2pd");
|
||||
#ifndef _WIN32
|
||||
g_Log->StartSyslog("i2pd", LOG_USER);
|
||||
#endif
|
||||
}
|
||||
|
||||
inline void StopSyslog()
|
||||
|
||||
Reference in New Issue
Block a user