aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/utils
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/utils')
-rw-r--r--Source/charon/utils/logger.h34
1 files changed, 25 insertions, 9 deletions
diff --git a/Source/charon/utils/logger.h b/Source/charon/utils/logger.h
index db6d25d60..04fa8cdd4 100644
--- a/Source/charon/utils/logger.h
+++ b/Source/charon/utils/logger.h
@@ -27,35 +27,51 @@
#include "../types.h"
/**
- * Log Levels supported by the logger object
+ * @brief Log Levels supported by the logger object
+ *
+ * Logleves are devided in two types:
+ * - One to specify the type log
+ * - One to specify the detail-level of the log
+ * Use combinations of these to build detailed loglevels, such
+ * as CONTROL|MORE fore a detailed cotrol level, or
+ * use RAW| to see all raw data dumps (except private)
*/
typedef enum logger_level_e logger_level_t;
enum logger_level_e {
/**
- * basic control messages
+ * control flow
*/
CONTROL = 1,
/**
- * detailed control messages
+ * error reporting
*/
- CONTROL_MORE = 2,
+ ERROR = 2,
/**
- * raw data dumps not containing private data
+ * raw data dumps
*/
RAW = 4,
/**
* private data dumps
*/
PRIVATE = 8,
+
+ /**
+ * use more detailed output for those above
+ */
+ MORE = 16,
+ /**
+ * use even more detailed output
+ */
+ MOST = MORE + 32,
/**
- * print errors
+ * use full detailed output
*/
- ERROR = 16,
+ ALL = MOST + 64,
/**
- * All Lol Levels
+ * Summary for all types with all detail-levels
*/
- ALL = 255
+ FULL = ALL + CONTROL + ERROR + RAW + PRIVATE
};
/**