HCE project C++ developers source code library
1.1.1
HCE project developer library
Main Page
Namespaces
Classes
Files
File List
File Members
HCE project C++ developers source code library
HCE project C++ developer source code library
Namespaces
Classes
Files
File List
sources
algorithms
applicationFramework
asmXMLParser
base64
coreDumpChecker
DRCE
exec
HCECSM
jsonObjExtractor
kvdb
messageStream
src
CustomMessage.cpp
CustomMessage.hpp
LoggerStream.cpp
LoggerStream.hpp
MessagesCollection.cpp
MessagesCollection.hpp
reduceAdditionCore
reduceCore
reduceDRCE
reduceHandler
reduceSphinx
refine
serializable
sphinx
types
xmlCleaner
main.cpp
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
LoggerStream.cpp
Go to the documentation of this file.
1
#include "
LoggerStream.hpp
"
2
3
namespace
HCE
4
{
5
//-----------------------------------------------------------------------------
6
LoggerStream::LoggerStream
(
void
)
7
: inherited(), logBuf(), pBuf(nullptr)
8
{
9
resetLogStream
();
10
resetLoggable
();
11
}
12
//-----------------------------------------------------------------------------
13
LoggerStream::~LoggerStream
(
void
)
14
{
15
}
16
//-----------------------------------------------------------------------------
17
void
LoggerStream::resetLogStream
(
void
)
18
{
19
logBuf.str(
""
);
20
pBuf = &logBuf;
21
this->rdbuf(pBuf);
22
}
23
//-----------------------------------------------------------------------------
24
void
LoggerStream::setLogStream
(std::ostream& os_)
25
{
26
pBuf=os_.rdbuf();
27
this->rdbuf(pBuf);
28
}
29
//-----------------------------------------------------------------------------
30
std::string
LoggerStream::logMsg
(
bool
isReset)
31
{
32
std::string result = logBuf.str();
33
if
(isReset)
34
logBuf.str(
""
);
35
return
result;
36
}
37
//-----------------------------------------------------------------------------
38
void
LoggerStream::setLoggable
(
Loggable
loggable_)
39
{
40
loggable = loggable_;
41
}
42
//-----------------------------------------------------------------------------
43
void
LoggerStream::resetLoggable
(
void
)
44
{
45
loggable = [](
const
std::string&
data
) {
return
data
;};
46
}
47
//-----------------------------------------------------------------------------
48
std::ostream&
LoggerStream::put
(
const
std::string&
data
)
49
{
50
*
this
<< loggable(data);
51
return
*
this
;
52
}
53
//-----------------------------------------------------------------------------
54
LoggerStream
&
LoggerStream::endl
(
void
)
55
{
56
std::stringstream str;
57
str << rdbuf();
58
logBuf.str(
""
);
59
std::endl
(
put
(str.str()));
60
return
*
this
;
61
}
62
//-----------------------------------------------------------------------------
63
//-----------------------------------------------------------------------------
64
std::ostream&
endl
(std::ostream& os)
65
{
66
if
(
typeid
(os)==
typeid
(
LoggerStream
))
67
{
68
LoggerStream
& ls =
reinterpret_cast<
LoggerStream
&
>
(os);
69
ls.
endl
();
70
}
71
else
72
std::endl
(os);
73
return
os;
74
}
75
//-----------------------------------------------------------------------------
76
LoggerStream
&
operator<<
(
LoggerStream
& os,
const
std::string& rhs)
77
{
78
os.
log
() << rhs;
79
return
os;
80
}
81
//-----------------------------------------------------------------------------
82
LoggerStream
&
operator<<
(
LoggerStream
& os,
const
char
* rhs)
83
{
84
os.
log
() << rhs;
85
return
os;
86
}
87
//-----------------------------------------------------------------------------
88
//-----------------------------------------------------------------------------
89
}
// end namespace HCE
sources
messageStream
src
LoggerStream.cpp
Generated on Mon Jan 13 2014 13:08:37 for HCE project C++ developers source code library by
1.8.1.2