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