summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/logger/logger.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/logger/logger.cc')
-rw-r--r--2004/i/nono/src/logger/logger.cc57
1 files changed, 38 insertions, 19 deletions
diff --git a/2004/i/nono/src/logger/logger.cc b/2004/i/nono/src/logger/logger.cc
index 66ecfae..ac3dff7 100644
--- a/2004/i/nono/src/logger/logger.cc
+++ b/2004/i/nono/src/logger/logger.cc
@@ -25,6 +25,40 @@
#include "logger.h"
#include "config/config.h"
+/// Destructeur.
+Logger::~Logger (void)
+{
+}
+
+/// Récupère le log level pour un module.
+Log::Level
+Logger::getLevel (const char *module) const
+{
+ LogLevels::const_iterator i;
+ i = logLevels_.find (module);
+ if (i != logLevels_.end ())
+ return i->second;
+ else
+ return Log::none;
+}
+
+/// Loggue un message.
+void
+Logger::log (const char *module, const char *instance,
+ Log::Level level, const std::string &msg)
+{
+ buffer_ += module;
+ buffer_ += ": ";
+ if (instance)
+ {
+ buffer_ += instance;
+ buffer_ += ": ";
+ }
+ buffer_ += msg;
+ buffer_ += '\n';
+ flush ();
+}
+
/// Constructeur par default.
Logger::Logger (void)
{
@@ -53,26 +87,11 @@ Logger::Logger (void)
}
}
-/// Récupère le log level pour un module.
-Log::Level
-Logger::getLevel (const std::string &module) const
-{
- LogLevels::const_iterator i;
- i = logLevels_.find (module);
- if (i != logLevels_.end ())
- return i->second;
- else
- return Log::none;
-}
-
-/// Loggue un message.
+/// Vide le buffer.
void
-Logger::log (const std::string &module, const std::string &instance,
- Log::Level level, const std::string &msg)
+Logger::flush (void)
{
- std::cout << module << ": ";
- if (!instance.empty ())
- std::cout << instance << ": ";
- std::cout << msg << std::endl;
+ std::cout << buffer_;
+ buffer_.erase ();
}