summaryrefslogtreecommitdiff
path: root/src/LogFactory.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-05 18:48:09 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-01-05 18:48:09 +0900
commitd6000024c0998df64895f2fd4c0f7458ea07a8f3 (patch)
treea4fbe349f59a01faf95b5907df74a6814fe25619 /src/LogFactory.cc
parentf019eae5df7955c544e491517c4e1391a3c3f11e (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.cc49
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();