1*1cd03ba3SJeremy Kemp #include <logger.h>
2*1cd03ba3SJeremy Kemp #include <iomanip>
3*1cd03ba3SJeremy Kemp #include <sstream>
4*1cd03ba3SJeremy Kemp
logger(bool _enableXml,string _xmlFileName)5*1cd03ba3SJeremy Kemp logger::logger(bool _enableXml, string _xmlFileName) : enableXml(_enableXml)
6*1cd03ba3SJeremy Kemp {
7*1cd03ba3SJeremy Kemp if (enableXml)
8*1cd03ba3SJeremy Kemp {
9*1cd03ba3SJeremy Kemp xmlFile.open(_xmlFileName);
10*1cd03ba3SJeremy Kemp xw = new xmlWriter(xmlFile);
11*1cd03ba3SJeremy Kemp xmlFile.flush();
12*1cd03ba3SJeremy Kemp }
13*1cd03ba3SJeremy Kemp }
14*1cd03ba3SJeremy Kemp
~logger()15*1cd03ba3SJeremy Kemp logger::~logger()
16*1cd03ba3SJeremy Kemp {
17*1cd03ba3SJeremy Kemp if (enableXml)
18*1cd03ba3SJeremy Kemp {
19*1cd03ba3SJeremy Kemp xw->closeAll();
20*1cd03ba3SJeremy Kemp delete xw;
21*1cd03ba3SJeremy Kemp xmlFile.close();
22*1cd03ba3SJeremy Kemp }
23*1cd03ba3SJeremy Kemp }
24*1cd03ba3SJeremy Kemp
print(string str)25*1cd03ba3SJeremy Kemp void logger::print(string str)
26*1cd03ba3SJeremy Kemp {
27*1cd03ba3SJeremy Kemp cout << str;
28*1cd03ba3SJeremy Kemp cout.flush();
29*1cd03ba3SJeremy Kemp }
30*1cd03ba3SJeremy Kemp
print(double val)31*1cd03ba3SJeremy Kemp void logger::print(double val)
32*1cd03ba3SJeremy Kemp {
33*1cd03ba3SJeremy Kemp cout << setprecision(2) << fixed;
34*1cd03ba3SJeremy Kemp cout << val;
35*1cd03ba3SJeremy Kemp cout.flush();
36*1cd03ba3SJeremy Kemp }
37*1cd03ba3SJeremy Kemp
print(float val)38*1cd03ba3SJeremy Kemp void logger::print(float val)
39*1cd03ba3SJeremy Kemp {
40*1cd03ba3SJeremy Kemp cout << setprecision(2) << fixed;
41*1cd03ba3SJeremy Kemp cout << val;
42*1cd03ba3SJeremy Kemp cout.flush();
43*1cd03ba3SJeremy Kemp }
44*1cd03ba3SJeremy Kemp
print(int val)45*1cd03ba3SJeremy Kemp void logger::print(int val)
46*1cd03ba3SJeremy Kemp {
47*1cd03ba3SJeremy Kemp cout << val;
48*1cd03ba3SJeremy Kemp cout.flush();
49*1cd03ba3SJeremy Kemp }
50*1cd03ba3SJeremy Kemp
print(unsigned int val)51*1cd03ba3SJeremy Kemp void logger::print(unsigned int val)
52*1cd03ba3SJeremy Kemp {
53*1cd03ba3SJeremy Kemp cout << val;
54*1cd03ba3SJeremy Kemp cout.flush();
55*1cd03ba3SJeremy Kemp }
56*1cd03ba3SJeremy Kemp
xmlOpenTag(string tag)57*1cd03ba3SJeremy Kemp void logger::xmlOpenTag(string tag)
58*1cd03ba3SJeremy Kemp {
59*1cd03ba3SJeremy Kemp if (enableXml)
60*1cd03ba3SJeremy Kemp {
61*1cd03ba3SJeremy Kemp xw->openElt(tag.c_str());
62*1cd03ba3SJeremy Kemp xmlFile.flush();
63*1cd03ba3SJeremy Kemp }
64*1cd03ba3SJeremy Kemp }
65*1cd03ba3SJeremy Kemp
xmlAppendAttribs(string key,string value)66*1cd03ba3SJeremy Kemp void logger::xmlAppendAttribs(string key, string value)
67*1cd03ba3SJeremy Kemp {
68*1cd03ba3SJeremy Kemp if (enableXml)
69*1cd03ba3SJeremy Kemp {
70*1cd03ba3SJeremy Kemp xw->attr(key.c_str(), value.c_str());
71*1cd03ba3SJeremy Kemp xmlFile.flush();
72*1cd03ba3SJeremy Kemp }
73*1cd03ba3SJeremy Kemp }
74*1cd03ba3SJeremy Kemp
xmlAppendAttribs(string key,uint value)75*1cd03ba3SJeremy Kemp void logger::xmlAppendAttribs(string key, uint value)
76*1cd03ba3SJeremy Kemp {
77*1cd03ba3SJeremy Kemp if (enableXml)
78*1cd03ba3SJeremy Kemp {
79*1cd03ba3SJeremy Kemp stringstream ss;
80*1cd03ba3SJeremy Kemp ss << value;
81*1cd03ba3SJeremy Kemp
82*1cd03ba3SJeremy Kemp xw->attr(key.c_str(), ss.str().c_str());
83*1cd03ba3SJeremy Kemp xmlFile.flush();
84*1cd03ba3SJeremy Kemp }
85*1cd03ba3SJeremy Kemp }
86*1cd03ba3SJeremy Kemp
xmlSetContent(string value)87*1cd03ba3SJeremy Kemp void logger::xmlSetContent(string value)
88*1cd03ba3SJeremy Kemp {
89*1cd03ba3SJeremy Kemp if (enableXml)
90*1cd03ba3SJeremy Kemp {
91*1cd03ba3SJeremy Kemp xw->content(value.c_str());
92*1cd03ba3SJeremy Kemp xmlFile.flush();
93*1cd03ba3SJeremy Kemp }
94*1cd03ba3SJeremy Kemp }
95*1cd03ba3SJeremy Kemp
xmlSetContent(float value)96*1cd03ba3SJeremy Kemp void logger::xmlSetContent(float value)
97*1cd03ba3SJeremy Kemp {
98*1cd03ba3SJeremy Kemp if (enableXml)
99*1cd03ba3SJeremy Kemp {
100*1cd03ba3SJeremy Kemp stringstream ss;
101*1cd03ba3SJeremy Kemp ss << value;
102*1cd03ba3SJeremy Kemp
103*1cd03ba3SJeremy Kemp xw->content(ss.str().c_str());
104*1cd03ba3SJeremy Kemp xmlFile.flush();
105*1cd03ba3SJeremy Kemp }
106*1cd03ba3SJeremy Kemp }
107*1cd03ba3SJeremy Kemp
xmlCloseTag()108*1cd03ba3SJeremy Kemp void logger::xmlCloseTag()
109*1cd03ba3SJeremy Kemp {
110*1cd03ba3SJeremy Kemp if (enableXml)
111*1cd03ba3SJeremy Kemp {
112*1cd03ba3SJeremy Kemp xw->closeElt();
113*1cd03ba3SJeremy Kemp xmlFile.flush();
114*1cd03ba3SJeremy Kemp }
115*1cd03ba3SJeremy Kemp }
116*1cd03ba3SJeremy Kemp
xmlRecord(string tag,string value)117*1cd03ba3SJeremy Kemp void logger::xmlRecord(string tag, string value)
118*1cd03ba3SJeremy Kemp {
119*1cd03ba3SJeremy Kemp if (enableXml)
120*1cd03ba3SJeremy Kemp {
121*1cd03ba3SJeremy Kemp stringstream ss;
122*1cd03ba3SJeremy Kemp ss << value;
123*1cd03ba3SJeremy Kemp
124*1cd03ba3SJeremy Kemp xw->openElt(tag.c_str());
125*1cd03ba3SJeremy Kemp xw->content(ss.str().c_str());
126*1cd03ba3SJeremy Kemp xw->closeElt();
127*1cd03ba3SJeremy Kemp xmlFile.flush();
128*1cd03ba3SJeremy Kemp }
129*1cd03ba3SJeremy Kemp }
130*1cd03ba3SJeremy Kemp
xmlRecord(string tag,float value)131*1cd03ba3SJeremy Kemp void logger::xmlRecord(string tag, float value)
132*1cd03ba3SJeremy Kemp {
133*1cd03ba3SJeremy Kemp if (enableXml)
134*1cd03ba3SJeremy Kemp {
135*1cd03ba3SJeremy Kemp stringstream ss;
136*1cd03ba3SJeremy Kemp ss << value;
137*1cd03ba3SJeremy Kemp
138*1cd03ba3SJeremy Kemp xw->openElt(tag.c_str());
139*1cd03ba3SJeremy Kemp xw->content(ss.str().c_str());
140*1cd03ba3SJeremy Kemp xw->closeElt();
141*1cd03ba3SJeremy Kemp xmlFile.flush();
142*1cd03ba3SJeremy Kemp }
143*1cd03ba3SJeremy Kemp }
144