1 #ifndef SZA_UTIL_LOGSTREAM_H
2 #define SZA_UTIL_LOGSTREAM_H
22 class LogStream :
public std::ostringstream {
33 LogStream(std::string message, std::string fileName,
34 int lineNo, std::string functionName,
35 bool isError,
bool usePrefix);
40 LogStream(std::ostringstream os, std::string fileName,
41 int lineNo, std::string functionName,
42 bool isError,
bool usePrefix);
52 void setLogStreamMessage(std::string message,
53 std::string fileName,
int lineNo,
54 std::string functionName,
61 void setLogStreamMessage(std::ostringstream& os,
62 std::string fileName,
int lineNo,
63 std::string functionName,
70 void appendLogStreamMessage(std::string message,
73 std::string functionName,
80 void appendLogStreamMessage(std::ostringstream& os,
81 std::string fileName,
int lineNo,
82 std::string functionName,
88 void initLogStreamMessage(std::string fileName,
int lineNo,
89 std::string functionName,
96 void setSysLogStreamError(std::string sysFunction,
99 std::string functionName,
105 void appendSysLogStreamError(std::string sysFunction,
106 std::string fileName,
108 std::string functionName,
114 std::string getMessage();
145 void addPrefix(
int lineNo, std::string functionName);
162 #define LogStr(isErr, message) LogStream((message), __FILE__, __LINE__, \
163 __PRETTY_FUNCTION__, isErr, true)
169 #define setMessage(isErr, message) setLogStreamMessage((message), \
170 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, true)
176 #define appendMessage(isErr, message) appendLogStreamMessage((message), \
177 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, true)
183 #define initMessage(isErr) initLogStreamMessage(__FILE__, __LINE__, \
184 __PRETTY_FUNCTION__, isErr, true)
190 #define setSysError(isErr, sysFunction) setSysLogStreamError((sysFunction), \
191 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, true)
193 #ifdef appendSysError
194 #undef appendSysError
197 #define appendSysError(isErr, sysFunction) \
198 appendSysLogStreamError((sysFunction), __FILE__, __LINE__, \
199 __PRETTY_FUNCTION__, isErr, true)
205 #define LogStrSimple(isErr, message) LogStream((message), __FILE__, __LINE__, \
206 __PRETTY_FUNCTION__, isErr, false)
208 #ifdef setMessageSimple
209 #undef setMessageSimple
212 #define setMessageSimple(isErr, message) setLogStreamMessage((message), \
213 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, false)
215 #ifdef appendMessageSimple
216 #undef appendMessageSimple
219 #define appendMessageSimple(isErr, message) appendLogStreamMessage((message), \
220 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, false)
222 #ifdef initMessageSimple
223 #undef initMessageSimple
226 #define initMessageSimple(isErr) initLogStreamMessage(__FILE__, __LINE__, \
227 __PRETTY_FUNCTION__, isErr, false)
229 #ifdef setSysErrorSimple
230 #undef setSysErrorSimple
233 #define setSysErrorSimple(isErr, sysFunction) setSysLogStreamError((sysFunction), \
234 __FILE__, __LINE__, __PRETTY_FUNCTION__, isErr, false)
236 #ifdef appendSysErrorSimple
237 #undef appendSysErrorSimple
240 #define appendSysErrorSimple(isErr, sysFunction) \
241 appendSysLogStreamError((sysFunction), __FILE__, __LINE__, \
242 __PRETTY_FUNCTION__, isErr, false)
244 #endif // End #ifndef