feisty meow concerns codebase
2.140
logging_macros.h
Go to the documentation of this file.
1
#ifndef LOGGING_MACROS_GROUP
2
#define LOGGING_MACROS_GROUP
3
4
/*****************************************************************************\
5
* *
6
* Name : logging macros *
7
* Author : Chris Koeritz *
8
* *
9
*******************************************************************************
10
* Copyright (c) 1996-$now By Author. This program is free software; you can *
11
* redistribute it and/or modify it under the terms of the GNU General Public *
12
* License as published by the Free Software Foundation; either version 2 of *
13
* the License or (at your option) any later version. This is online at: *
14
* http://www.fsf.org/copyleft/gpl.html *
15
* Please send any updates to: fred@gruntose.com *
16
\*****************************************************************************/
17
24
#include <
application/callstack_tracker.h
>
25
#include <
basis/enhance_cpp.h
>
26
#include <
loggers/logging_filters.h
>
27
#include <
timely/time_stamp.h
>
28
31
33
36
#define FILTER_LOG(the_logger, to_log, filter) { \
37
if (the_logger.member(filter)) { \
38
the_logger.log(to_log, filter); \
39
} \
40
}
41
43
#define EMERGENCY_LOG(the_logger, to_log) \
44
FILTER_LOG(the_logger, to_log, basis::ALWAYS_PRINT)
45
47
#define STAMPED_FILTER_LOG(the_logger, to_log, filter) { \
48
if (the_logger.member(filter)) { \
49
astring temp_log = to_log; \
50
if (temp_log.length()) \
51
temp_log.insert(0, timely::time_stamp::notarize(true)); \
52
the_logger.log(temp_log, filter); \
53
} \
54
}
56
#define STAMPED_EMERGENCY_LOG(the_logger, to_log) \
57
STAMPED_FILTER_LOG(the_logger, to_log, basis::ALWAYS_PRINT)
58
60
/* These add a class and function name to the log entry. */
61
#define CLASS_FILTER_LOG(the_logger, to_log, filter) { \
62
application::update_current_stack_frame_line_number(__LINE__); \
63
if (the_logger.member(filter)) { \
64
astring temp_log = to_log; \
65
if (temp_log.length()) { \
66
temp_log.insert(0, timely::time_stamp::notarize(true)); \
67
BASE_FUNCTION(func); \
68
temp_log += " ["; \
69
temp_log += function_name; \
70
temp_log += "]"; \
71
} \
72
the_logger.log(temp_log, filter); \
73
} \
74
application::update_current_stack_frame_line_number(__LINE__); \
75
}
77
#define CLASS_EMERGENCY_LOG(the_logger, to_log) \
78
CLASS_FILTER_LOG(the_logger, to_log, basis::ALWAYS_PRINT)
79
81
83
#define INSTANCE_FILTER_LOG(the_logger, to_log, filter) { \
84
application::update_current_stack_frame_line_number(__LINE__); \
85
if (the_logger.member(filter)) { \
86
astring temp_log = to_log; \
87
if (temp_log.length()) { \
88
temp_log.insert(0, timely::time_stamp::notarize(true)); \
89
BASE_INSTANCE_FUNCTION(func); \
90
temp_log += " ["; \
91
temp_log += function_name; \
92
temp_log += "]"; \
93
} \
94
the_logger.log(temp_log, filter); \
95
application::update_current_stack_frame_line_number(__LINE__); \
96
} \
97
}
99
#define INSTANCE_EMERGENCY_LOG(the_logger, to_log) \
100
INSTANCE_FILTER_LOG(the_logger, to_log, basis::ALWAYS_PRINT)
101
102
#endif
103
callstack_tracker.h
enhance_cpp.h
logging_filters.h
time_stamp.h
nucleus
library
loggers
logging_macros.h
Generated by
1.9.8