Go to the documentation of this file.
30 #ifndef __NMV_LOG_STREAM_UTILS_H__
31 #define __NMV_LOG_STREAM_UTILS_H__
38 #ifndef __ASSERT_FUNCTION
39 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
43 #define HERE __ASSERT_FUNCTION << ":" <<__FILE__<< ":" << __LINE__ << ":"
46 #ifndef PRETY_FUNCTION_NAME_
47 #define PRETTY_FUNCTION_NAME_ __ASSERT_FUNCTION
51 #define LOG_STREAM nemiver::common::LogStream::default_log_stream ()
54 #ifndef LOG_MARKER_INFO
55 #define LOG_MARKER_INFO "|I|"
58 #ifndef LOG_MARKER_ERROR
59 #define LOG_MARKER_ERROR "|E|"
62 #ifndef LOG_MARKER_EXCEPTION
63 #define LOG_MARKER_EXCEPTION "|X|"
66 #ifndef LOG_LEVEL_NORMAL___
67 #define LOG_LEVEL_NORMAL___ nemiver::common::level_normal
70 #ifndef LOG_LEVEL_VERBOSE___
71 #define LOG_LEVEL_VERBOSE___ nemiver::common::level_verbose
75 #define LOG(message) \
76 LOG_STREAM << LOG_LEVEL_NORMAL___ << LOG_MARKER_INFO << HERE << message << nemiver::common::endl
80 #define MESSAGE(message) \
81 LOG_STREAM << LOG_LEVEL_NORMAL___ << LOG_MARKER_INFO << message << nemiver::common::endl
85 #define LOG_D(message, domain) \
87 LOG_STREAM.push_domain (domain); \
89 LOG_STREAM.pop_domain (); \
94 #define LOG_DD(message) LOG_D(message, NMV_DEFAULT_DOMAIN)
98 #define LOG_ERROR(message) \
99 LOG_STREAM << LOG_LEVEL_NORMAL___ << LOG_MARKER_ERROR << HERE << message << nemiver::common::endl
102 #ifndef LOG_EXCEPTION
103 #define LOG_EXCEPTION(message) \
104 LOG_STREAM << LOG_LEVEL_NORMAL___ << LOG_MARKER_EXCEPTION << HERE << message << nemiver::common::endl
108 #define LOG_ERROR_D(message, domain) \
110 LOG_STREAM.push_domain (domain); \
111 LOG_ERROR (message) ; \
112 LOG_STREAM.pop_domain() ; \
117 #define LOG_ERROR_DD(message) LOG_ERROR_D (message, NMV_DEFAULT_DOMAIN)
121 #define LOG_VERBOSE(message) \
122 LOG_STREAM << LOG_LEVEL_VERBOSE___ << LOG_MARKER_INFO << HERE << message << nemiver::common::endl
125 #ifndef LOG_VERBOSE_D
126 #define LOG_VERBOSE_D(message) \
128 LOG_STREAM.push_domain (domain); \
129 LOG_VERBOSE(message) ; \
130 LOG_STREAM.pop_domain(); \
134 #ifndef LOG_SCOPE_VERBOSE
135 #define LOG_SCOPE_VERBOSE(scopename) \
136 nemiver::common::ScopeLogger scope_logger (scopename, nemiver::common::LogStream::LOG_LEVEL_VERBOSE);
140 #define LOG_SCOPE(scopename) \
141 nemiver::common::ScopeLogger scope_logger (scopename, nemiver::common::LogStream::LOG_LEVEL_NORMAL);
145 #define LOG_SCOPE_D(scopename, domain) \
146 nemiver::common::ScopeLogger scope_logger \
147 (scopename, nemiver::common::LogStream::LOG_LEVEL_VERBOSE, domain);
150 #ifndef LOG_SCOPE_NORMAL
151 #define LOG_SCOPE_NORMAL(scopename) \
152 nemiver::common::ScopeLogger scope_logger (scopename, nemiver::common::LogStream::LOG_LEVEL_NORMAL);
155 #ifndef LOG_SCOPE_NORMAL_D
156 #define LOG_SCOPE_NORMAL_D(scopename, domain) \
157 nemiver::common::ScopeLogger scope_logger \
158 (scopename, nemiver::common::LogStream::LOG_LEVEL_NORMAL, domain);
161 #ifndef LOG_FUNCTION_SCOPE
162 #define LOG_FUNCTION_SCOPE LOG_SCOPE(PRETTY_FUNCTION_NAME_)
165 #ifndef LOG_FUNCTION_SCOPE_D
166 #define LOG_FUNCTION_SCOPE_D(domain) LOG_SCOPE_D(PRETTY_FUNCTION_NAME_, domain)
169 #ifndef LOG_FUNCTION_SCOPE_NORMAL
170 #define LOG_FUNCTION_SCOPE_NORMAL LOG_SCOPE_NORMAL(PRETTY_FUNCTION_NAME_)
173 #ifndef LOG_FUNCTION_SCOPE_VERBOSE
174 #define LOG_FUNCTION_SCOPE_VERBOSE LOG_SCOPE_VERBOSE(PRETTY_FUNCTION_NAME_)
177 #ifndef LOG_FUNCTION_SCOPE_NORMAL_D
178 #define LOG_FUNCTION_SCOPE_NORMAL_D(domain) \
179 LOG_SCOPE_NORMAL_D(PRETTY_FUNCTION_NAME_, domain)
182 #ifndef LOG_FUNCTION_SCOPE_NORMAL_DD
183 #define LOG_FUNCTION_SCOPE_NORMAL_DD LOG_FUNCTION_SCOPE_NORMAL_D(NMV_DEFAULT_DOMAIN)
186 #ifndef LOG_REF_COUNT
187 #define LOG_REF_COUNT(a_object_ptr, a_name) \
191 << (int) a_object_ptr->get_refcount (), \
193 #endif //LOG_REF_COUNT
195 #endif // NMV_LOG_STREAM_UTILS_H__