-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathUtils.h
73 lines (55 loc) · 1.8 KB
/
Utils.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef __MDXtoHTML_UTILS__
#define __MDXtoHTML_UTILS__
#include <fstream>
#include <string>
using namespace std;
class Logger
{
private:
std::ofstream _log_file;
public:
std::ofstream& log_file(void)
{
return _log_file;
}
void message(const string &message)
{
_log_file<<"Message: "<<message<<endl;
}
void warning(const string &message)
{
_log_file<<"Warning: "<<message<<endl;
}
void error(const string &message)
{
_log_file<<"Warning: "<<message<<endl;
}
Logger( const string &log_file_name ):_log_file(log_file_name, ios::ate)
{
_log_file<<"---"<<endl;
}
~Logger(void)
{
_log_file.close();
}
};
extern Logger MDXtoHTML_Log;
#ifdef __DBGOUTPUT__
//mess, warn, err - òåêñò ñîîáùåíèÿ/ïðåäóïðåæäåíèÿ/îøèáêè, ret - âîçâðàùàåìûé ðåçóëüòàò
#define MACRO_MESSAGE(mess) {MDXtoHTML_Log.message(##mess##);}
#define MACRO_MESSAGE_RET(mess,ret) {MDXtoHTML_Log.message(##mess##);return(##ret##);}
#define MACRO_MESSAGE_RET_VOID(mess) {MDXtoHTML_Log.message(##mess##);return;}
#define MACRO_WARNING_RET(warn,ret) {MDXtoHTML_Log.warning(##warn##);return(##ret##);}
#define MACRO_WARNING_RET_VOID(warn) {MDXtoHTML_Log.warning(##warn##);return;}
#define MACRO_ERROR_RET(err,ret) {MDXtoHTML_Log.error(##err##);return(##ret##);}
#define MACRO_ERROR_RET_VOID(err) {MDXtoHTML_Log.error(##err##);return;}
#else
#define MACRO_MESSAGE(mess) {MDXtoHTML_Log.message(##mess##);}
#define MACRO_MESSAGE_RET(mess,ret) {return(##ret##);}
#define MACRO_MESSAGE_RET_VOID(mess) {return;}
#define MACRO_WARNING_RET(warn,ret) {return(##ret##);}
#define MACRO_WARNING_RET_VOID(warn) {return;}
#define MACRO_ERROR_RET(err,ret) {return(##ret##);}
#define MACRO_ERROR_RET_VOID(err) {return;}
#endif
#endif