OpenWalnut  1.5.0dev
WLogStream.cpp
1 //---------------------------------------------------------------------------
2 //
3 // Project: OpenWalnut ( http://www.openwalnut.org )
4 //
5 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6 // For more information see http://www.openwalnut.org/copying
7 //
8 // This file is part of OpenWalnut.
9 //
10 // OpenWalnut is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // OpenWalnut is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public License
21 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22 //
23 //---------------------------------------------------------------------------
24 
25 #include <string>
26 
27 #include "WLogStream.h"
28 
29 
30 WLogStream::WLogStream( std::ostream& output, LogLevel logLevel, std::string format, bool colored ): // NOLINT - we need this non-const ref here
31  m_output( output ),
32  m_logLevel( logLevel ),
33  m_format( format ),
34  m_color( colored )
35 {
36  // do nothing
37 }
38 
39 void WLogStream::printEntry( const WLogEntry& entry )
40 {
41  // level test
42  if( m_logLevel > entry.getLogLevel() )
43  {
44  return;
45  }
46 
48  m_output.flush();
49 }
50 
51 void WLogStream::setLogLevel( LogLevel logLevel )
52 {
53  m_logLevel = logLevel;
54 }
55 
56 LogLevel WLogStream::getLogLevel() const
57 {
58  return m_logLevel;
59 }
60 
61 void WLogStream::setFormat( std::string format )
62 {
63  m_format = format;
64 }
65 
66 std::string WLogStream::getFormat() const
67 {
68  return m_format;
69 }
70 
71 void WLogStream::setColored( bool colors )
72 {
73  m_color = colors;
74 }
75 
77 {
78  return m_color;
79 }
80 
Represents a simple log message with some attributes.
Definition: WLogEntry.h:57
std::string getLogString(std::string format="[%t] *%l* %m \n", bool colors=true) const
Definition: WLogEntry.cpp:77
LogLevel getLogLevel() const
Definition: WLogEntry.cpp:116
void setFormat(std::string format)
Sets the format string.
Definition: WLogStream.cpp:61
void setLogLevel(LogLevel logLevel)
Sets the new log level.
Definition: WLogStream.cpp:51
bool m_color
True if colors should be used.
Definition: WLogStream.h:140
std::ostream & m_output
The output stream.
Definition: WLogStream.h:125
LogLevel m_logLevel
The logging level.
Definition: WLogStream.h:130
bool isColored() const
Getter determining whether to use colors or not.
Definition: WLogStream.cpp:76
void printEntry(const WLogEntry &entry)
Prints the specified entry to the output stream in the right format if the log level matches.
Definition: WLogStream.cpp:39
void setColored(bool colors)
Set whether to use colors or not.
Definition: WLogStream.cpp:71
LogLevel getLogLevel() const
Gets the currently set log level.
Definition: WLogStream.cpp:56
WLogStream(std::ostream &output, LogLevel logLevel=LL_DEBUG, std::string format="*%l [%s] %m \n", bool colored=true)
Constructor.
Definition: WLogStream.cpp:30
std::string getFormat() const
Returns the currently set format string.
Definition: WLogStream.cpp:66
std::string m_format
The format of the message.
Definition: WLogStream.h:135