Initial commit based on common repo commit ffeb9c9b
This commit is contained in:
61
libs/gempa/caps/log.h
Normal file
61
libs/gempa/caps/log.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2009 by gempa GmbH *
|
||||
* *
|
||||
* All Rights Reserved. *
|
||||
* *
|
||||
* NOTICE: All information contained herein is, and remains *
|
||||
* the property of gempa GmbH and its suppliers, if any. The intellectual *
|
||||
* and technical concepts contained herein are proprietary to gempa GmbH *
|
||||
* and its suppliers. *
|
||||
* Dissemination of this information or reproduction of this material *
|
||||
* is strictly forbidden unless prior written permission is obtained *
|
||||
* from gempa GmbH. *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef GEMPA_CAPS_LOG_H
|
||||
#define GEMPA_CAPS_LOG_H
|
||||
|
||||
|
||||
namespace Gempa {
|
||||
namespace CAPS {
|
||||
|
||||
|
||||
enum LogLevel {
|
||||
LL_UNDEFINED = 0,
|
||||
LL_ERROR,
|
||||
LL_WARNING,
|
||||
LL_NOTICE,
|
||||
LL_INFO,
|
||||
LL_DEBUG,
|
||||
LL_QUANTITY
|
||||
};
|
||||
|
||||
|
||||
#define CAPS_LOG_MSG(LogLevel, ...) \
|
||||
do {\
|
||||
if ( Gempa::CAPS::LogHandler[LogLevel] != NULL )\
|
||||
Gempa::CAPS::LogHandler[LogLevel](__VA_ARGS__);\
|
||||
} while(0)
|
||||
|
||||
|
||||
#define CAPS_ERROR(...) CAPS_LOG_MSG(Gempa::CAPS::LL_ERROR, __VA_ARGS__)
|
||||
#define CAPS_WARNING(...) CAPS_LOG_MSG(Gempa::CAPS::LL_WARNING, __VA_ARGS__)
|
||||
#define CAPS_NOTICE(...) CAPS_LOG_MSG(Gempa::CAPS::LL_NOTICE, __VA_ARGS__)
|
||||
#define CAPS_INFO(...) CAPS_LOG_MSG(Gempa::CAPS::LL_INFO, __VA_ARGS__)
|
||||
#define CAPS_DEBUG(...) CAPS_LOG_MSG(Gempa::CAPS::LL_DEBUG, __VA_ARGS__)
|
||||
|
||||
|
||||
typedef void (*LogOutput)(const char *, ...);
|
||||
|
||||
extern LogOutput LogHandler[LL_QUANTITY];
|
||||
|
||||
|
||||
void SetLogHandler(LogLevel, LogOutput);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user