Files
bongo/include/logger.h
T
2009-07-10 08:34:06 +00:00

51 lines
1.6 KiB
C

#ifndef LOGGER_H
#define LOGGER_H
#ifndef LOGGERNAME
#define LOGGERNAME "root"
#endif
void Log(int level, char *message, ...);
void LogOpen(const char *agentname);
void LogClose();
// various macros
#define LogFailure(message) Log(LOG_ERROR, "Internal Failure (%s:%d) " message, __FILE__, __LINE__)
#define LogFailureF(message, ...) Log(LOG_ERROR, "Internal Failure (%s:%d) " message, __FILE__, __LINE__, __VA_ARGS__)
#define LogAssert(test, message) if (!(test)) { Log(LOG_ERROR, "Internal Failure (%s:%d) " message, __FILE__, __LINE__); }
#define LogAssertF(test, message, ...) if(!(test)) { Log(LOG_ERROR, "Assert:%s:%d " message, __FILE__, __LINE__, __VA_ARGS__); }
#define LogWithID(...) Log(__VA_ARGS__)
#define LOGIP(X) inet_ntoa(X.sin_addr)
#define LOGIPPTR(X) inet_ntoa(X->sin_addr)
// deprecated start up functions
#define LogStart() LogOpen(LOGGERNAME);
#define LogStartup() LogOpen(LOGGERNAME);
#define LogShutdown() LogClose();
#define LOG_FATAL 10
#define LOG_ALERT 9
#define LOG_CRIT 8
#define LOG_CRITICAL 8
#define LOG_ERROR 7
#define LOG_WARN 6
#define LOG_WARNING 6
#define LOG_NOTICE 5
#define LOG_INFO 4
#define LOG_DEBUG 3
#define LOG_TRACE 2
#define LOG_NOTSET 1
#define LOG_UNKNOWN 0
#if 0
typedef struct _LoggingHandle LoggingHandle;
/* Prototypes */
EXPORT LoggingHandle *LoggerOpen(const char *name);
EXPORT void LoggerClose(LoggingHandle *handle);
EXPORT void LoggerEvent(LoggingHandle *handle, const char *subsystem, unsigned long eventId, int level, int unknown /*fixme*/, const char *str1, const char *str2, int i1, int i2, void *p, int size);
#endif
#endif /* LOGGER_H */