<ClCompile Include="event.cpp" />
<ClCompile Include="exception.cpp" />
<ClCompile Include="fifo.cpp" />
+ <ClCompile Include="logger.cpp" />
<ClCompile Include="object.cpp" />
<ClCompile Include="objectmap.cpp" />
<ClCompile Include="objectset.cpp" />
<ClCompile Include="ringbuffer.cpp" />
<ClCompile Include="socket.cpp" />
+ <ClCompile Include="streamlogger.cpp" />
+ <ClCompile Include="sysloglogger.cpp" />
<ClCompile Include="tcpclient.cpp" />
<ClCompile Include="tcpserver.cpp" />
<ClCompile Include="tcpsocket.cpp" />
<ClInclude Include="configobject.h" />
<ClInclude Include="dictionary.h" />
<ClInclude Include="event.h" />
+ <ClInclude Include="logger.h" />
<ClInclude Include="objectmap.h" />
<ClInclude Include="objectset.h" />
<ClInclude Include="exception.h" />
<ClInclude Include="object.h" />
<ClInclude Include="ringbuffer.h" />
<ClInclude Include="socket.h" />
+ <ClInclude Include="streamlogger.h" />
+ <ClInclude Include="sysloglogger.h" />
<ClInclude Include="tcpclient.h" />
<ClInclude Include="tcpserver.h" />
<ClInclude Include="tcpsocket.h" />
<ClCompile Include="win32.cpp">
<Filter>Quelldateien</Filter>
</ClCompile>
+ <ClCompile Include="logger.cpp">
+ <Filter>Quelldateien</Filter>
+ </ClCompile>
+ <ClCompile Include="streamlogger.cpp">
+ <Filter>Quelldateien</Filter>
+ </ClCompile>
+ <ClCompile Include="sysloglogger.cpp">
+ <Filter>Quelldateien</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="application.h">
<ClInclude Include="variant.h">
<Filter>Headerdateien</Filter>
</ClInclude>
+ <ClInclude Include="logger.h">
+ <Filter>Headerdateien</Filter>
+ </ClInclude>
+ <ClInclude Include="streamlogger.h">
+ <Filter>Headerdateien</Filter>
+ </ClInclude>
+ <ClInclude Include="sysloglogger.h">
+ <Filter>Headerdateien</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="Headerdateien">
/**
* A logger that logs to stdout.
*/
-class StreamLogger : public Logger
+class I2_BASE_API StreamLogger : public Logger
{
public:
typedef shared_ptr<StreamLogger> Ptr;
+#ifndef _WIN32
#include "i2-base.h"
using namespace icinga;
syslog(severity | LOG_USER, "%s", entry.Message.c_str());
}
+#endif /* _WIN32 */
\ No newline at end of file
#ifndef SYSLOGLOGGER_H
#define SYSLOGLOGGER_H
+#ifndef _WIN32
namespace icinga
{
/**
* A logger that logs to syslog.
*/
-class SyslogLogger : public Logger
+class I2_BASE_API SyslogLogger : public Logger
{
public:
typedef shared_ptr<SyslogLogger> Ptr;
};
}
+#endif /* _WIN32 */
#endif /* SYSLOGLOGGER_H */
throw invalid_argument("No config file was specified on the command line.");
if (enableSyslog) {
+#ifndef _WIN32
SyslogLogger::Ptr syslogLogger = boost::make_shared<SyslogLogger>(LogInformation);
Logger::RegisterLogger(syslogLogger);
+#else /* _WIN32 */
+ throw invalid_argument("Syslog is not supported on Windows.");
+#endif /* _WIN32 */
}
string componentDirectory = Utility::DirName(GetExePath()) + "/../lib/icinga2";