Update of /cvsroot/pclasses/pclasses2/src/App
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2766/src/App
Modified Files:
LogChannel.cpp LogManager.cpp LogTarget.cpp
Log Message:
- Some small fixes for the logging framework
Index: LogManager.cpp
===================================================================
RCS file: /cvsroot/pclasses/pclasses2/src/App/LogManager.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- LogManager.cpp 11 Jan 2005 14:58:30 -0000 1.2
+++ LogManager.cpp 28 Apr 2005 10:34:06 -0000 1.3
@@ -70,7 +70,7 @@
LogChannel* chan = channel(name);
if(!chan)
{
- chan = new LogChannel();
+ chan = new LogChannel(name);
_channels[name] = chan;
}
Index: LogTarget.cpp
===================================================================
RCS file: /cvsroot/pclasses/pclasses2/src/App/LogTarget.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- LogTarget.cpp 10 Jan 2005 02:38:57 -0000 1.1
+++ LogTarget.cpp 28 Apr 2005 10:34:06 -0000 1.2
@@ -25,6 +25,7 @@
namespace App {
LogTarget::LogTarget()
+: _logLevel(LogMessage::Debug)
{
}
Index: LogChannel.cpp
===================================================================
RCS file: /cvsroot/pclasses/pclasses2/src/App/LogChannel.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- LogChannel.cpp 16 Jan 2005 01:58:15 -0000 1.2
+++ LogChannel.cpp 28 Apr 2005 10:34:06 -0000 1.3
@@ -121,13 +121,14 @@
s->msg << (char)ch;
}
-
- return ch;
+
+ return traits_type::not_eof(ch);
}
-LogChannel::LogChannel()
-: std::ostream(new LogStreamBuffer(*this))
+LogChannel::LogChannel(const std::string& name)
+: std::ostream(new LogStreamBuffer(*this)),
+ _name(name), _logLevel(LogMessage::Warning)
{
}
@@ -137,6 +138,11 @@
delete rdbuf();
}
+const std::string& LogChannel::name() const
+{
+ return _name;
+}
+
bool LogChannel::addTarget(const std::string& name, LogTarget* target)
{
TargetMap::const_iterator i = _targets.find(name);
@@ -203,7 +209,7 @@
LogTarget* target = i->second;
try
{
- if(target->valid())
+ if(target->valid() && msg.level() >= target->logLevel())
target->output(msg);
}
// close target if output() did throw
|