Browse Source

don't break win32

pull/440/head
Jeff Becker 9 years ago
parent
commit
c4e5a130ee
No known key found for this signature in database
GPG Key ID: AB950234D6EA286B
  1. 10
      Log.cpp
  2. 11
      Log.h

10
Log.cpp

@ -10,7 +10,7 @@ static const char * g_LogLevelStr[eNumLogLevels] = @@ -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) @@ -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) @@ -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

@ -8,9 +8,12 @@ @@ -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> @@ -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 () @@ -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()

Loading…
Cancel
Save