Initial commit
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
*.o.*
|
||||
*.d.*
|
||||
*.a.*
|
||||
.*.swp
|
||||
.AppleDouble
|
||||
lib
|
||||
fixPermissions.sh
|
||||
@@ -0,0 +1,79 @@
|
||||
#include <iostream>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <syslog.h>
|
||||
#include "Logging.h"
|
||||
|
||||
|
||||
namespace Logging {
|
||||
|
||||
void OpenLog()
|
||||
{
|
||||
openlog(NULL, LOG_CONS | LOG_NDELAY | LOG_PID, LOG_USER);
|
||||
}
|
||||
|
||||
void CloseLog()
|
||||
{
|
||||
closelog();
|
||||
}
|
||||
|
||||
void SetLogMask(Severity::type severity)
|
||||
{
|
||||
int level = static_cast<int>(severity);
|
||||
setlogmask(LOG_UPTO(level));
|
||||
|
||||
switch (level)
|
||||
{
|
||||
case LOG_EMERG:
|
||||
Syslog(LOG_EMERG, "LogMask set to LOG_EMERG\n");
|
||||
break;
|
||||
case LOG_ALERT:
|
||||
Syslog(LOG_ALERT, "LogMask set to LOG_ALERT\n");
|
||||
break;
|
||||
case LOG_CRIT:
|
||||
Syslog(LOG_CRIT, "LogMask set to LOG_CRIT\n");
|
||||
break;
|
||||
case LOG_ERR:
|
||||
Syslog(LOG_ERR, "LogMask set to LOG_ERR\n");
|
||||
break;
|
||||
case LOG_WARNING:
|
||||
Syslog(LOG_WARNING, "LogMask set to LOG_WARNING\n");
|
||||
break;
|
||||
case LOG_NOTICE:
|
||||
Syslog(LOG_NOTICE, "LogMask set to LOG_NOTICE\n");
|
||||
break;
|
||||
case LOG_INFO:
|
||||
Syslog(LOG_NOTICE, "LogMask set to LOG_INFO\n");
|
||||
break;
|
||||
case LOG_DEBUG:
|
||||
Syslog(LOG_NOTICE, "LogMask set to LOG_DEBUG\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Log(Severity::type severity, const std::string& message)
|
||||
{
|
||||
if (severity > Severity::Error)
|
||||
std::cout << message << std::endl;
|
||||
else
|
||||
std::cerr << message << std::endl;
|
||||
|
||||
Syslog(static_cast<int>(severity), "%s", message.c_str());
|
||||
}
|
||||
|
||||
void Syslog(int level, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
|
||||
vsyslog(level, format, args);
|
||||
|
||||
if (level == LOG_DEBUG)
|
||||
printf(" ");
|
||||
|
||||
vprintf(format, args);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
} // namespace Logging
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../Makefile
|
||||
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# Makefile.conf
|
||||
#
|
||||
|
||||
CFLAGS += -I$(ROOTPATH) -I$(ROOTPATH)/include
|
||||
DEBUGDIR := .debug
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#
|
||||
# Makefile.target
|
||||
#
|
||||
|
||||
Logging.a.$(ARCH) : $(OBJECTS)
|
||||
$(call build_target_library_arch,$@,$^)
|
||||
Logging.a:
|
||||
$(call build_target,$@)
|
||||
|
||||
.DEFAULT_GOAL := Logging.a
|
||||
|
||||
TARGETS += Logging.a
|
||||
@@ -0,0 +1,42 @@
|
||||
#ifndef LOGGER_H
|
||||
#define LOGGER_H
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace Logging {
|
||||
|
||||
#define LOG_EMERG 0
|
||||
#define LOG_ALERT 1
|
||||
#define LOG_CRIT 2
|
||||
#define LOG_ERR 3
|
||||
#define LOG_WARNING 4
|
||||
#define LOG_NOTICE 5
|
||||
#define LOG_INFO 6
|
||||
#define LOG_DEBUG 7
|
||||
|
||||
struct Severity
|
||||
{
|
||||
public:
|
||||
enum type
|
||||
{
|
||||
Emergency = LOG_EMERG,
|
||||
Alert = LOG_ALERT,
|
||||
Critical = LOG_CRIT,
|
||||
Error = LOG_ERR,
|
||||
Warning = LOG_WARNING,
|
||||
Notice = LOG_NOTICE,
|
||||
Info = LOG_INFO,
|
||||
Debug = LOG_DEBUG
|
||||
};
|
||||
};
|
||||
|
||||
void OpenLog();
|
||||
void CloseLog();
|
||||
void SetLogMask(Severity::type severity);
|
||||
void Log(Severity::type severity, const std::string& message);
|
||||
void Syslog(int level, const char *format, ...);
|
||||
|
||||
} // namespace Logging
|
||||
|
||||
#endif // LOGGING_LOGGER_H
|
||||
Reference in New Issue
Block a user