diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-01-05 18:48:09 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-01-05 18:48:09 +0900 |
| commit | d6000024c0998df64895f2fd4c0f7458ea07a8f3 (patch) | |
| tree | a4fbe349f59a01faf95b5907df74a6814fe25619 /src/LogFactory.cc | |
| parent | f019eae5df7955c544e491517c4e1391a3c3f11e (diff) | |
Added --console-log-level option
--console-log-level option sets log level to output to console.
Diffstat (limited to 'src/LogFactory.cc')
| -rw-r--r-- | src/LogFactory.cc | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/src/LogFactory.cc b/src/LogFactory.cc index d7598eb8..126397ae 100644 --- a/src/LogFactory.cc +++ b/src/LogFactory.cc @@ -43,6 +43,7 @@ std::string LogFactory::filename_ = DEV_NULL; SharedHandle<Logger> LogFactory::logger_; bool LogFactory::consoleOutput_ = true; Logger::LEVEL LogFactory::logLevel_ = Logger::A2_DEBUG; +Logger::LEVEL LogFactory::consoleLogLevel_ = Logger::A2_NOTICE; void LogFactory::openLogger(const SharedHandle<Logger>& logger) { @@ -52,6 +53,8 @@ void LogFactory::openLogger(const SharedHandle<Logger>& logger) logger->openFile(filename_); } logger->setLogLevel(logLevel_); + logger->setConsoleLogLevel(consoleLogLevel_); + logger->setConsoleOutput(consoleOutput_); } void LogFactory::reconfigure() @@ -72,11 +75,6 @@ const SharedHandle<Logger>& LogFactory::getInstance() if(!logger_) { SharedHandle<Logger> slogger(new Logger()); openLogger(slogger); - if(consoleOutput_) { - slogger->setStdoutLogLevel(Logger::A2_NOTICE, true); - slogger->setStdoutLogLevel(Logger::A2_WARN, true); - slogger->setStdoutLogLevel(Logger::A2_ERROR, true); - } logger_.swap(slogger); } return logger_; @@ -93,25 +91,44 @@ void LogFactory::setLogFile(const std::string& name) } } -void LogFactory::setLogLevel(Logger::LEVEL level) -{ - logLevel_ = level; -} - -void LogFactory::setLogLevel(const std::string& level) +namespace { +Logger::LEVEL toLogLevel(const std::string& level) { if(level == V_DEBUG) { - logLevel_ = Logger::A2_DEBUG; + return Logger::A2_DEBUG; } else if(level == V_INFO) { - logLevel_ = Logger::A2_INFO; + return Logger::A2_INFO; } else if(level == V_NOTICE) { - logLevel_ = Logger::A2_NOTICE; + return Logger::A2_NOTICE; } else if(level == V_WARN) { - logLevel_ = Logger::A2_WARN; + return Logger::A2_WARN; } else if(level == V_ERROR) { - logLevel_ = Logger::A2_ERROR; + return Logger::A2_ERROR; + } else { + return Logger::A2_NOTICE; } } +} // namespace + +void LogFactory::setLogLevel(Logger::LEVEL level) +{ + logLevel_ = level; +} + +void LogFactory::setLogLevel(const std::string& level) +{ + logLevel_ = toLogLevel(level); +} + +void LogFactory::setConsoleLogLevel(Logger::LEVEL level) +{ + consoleLogLevel_ = level; +} + +void LogFactory::setConsoleLogLevel(const std::string& level) +{ + consoleLogLevel_ = toLogLevel(level); +} void LogFactory::release() { logger_.reset(); |
