diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-15 15:48:41 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-15 15:48:41 +0000 |
| commit | d76e423884058d7eb7e397bc24b695d9e3c1a3f7 (patch) | |
| tree | 7552ad196edf24f2d3da99c4a7b080e6f2e6e754 /src/SimpleLogger.cc | |
| parent | 2e8e926c1003a09663b1d16d7f4be8b45771cc9f (diff) | |
2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --log-level option to specify log level. Log messages under
the specified level are not output. Default value is `debug'.
* src/HelpItemFactory.cc
* src/LogFactory.cc
* src/LogFactory.h
* src/Logger.h
* src/OptionHandlerFactory.cc
* src/SimpleLogger.cc
* src/SimpleLogger.h
* src/main.cc
* src/option_processing.cc
* src/prefs.h
* src/usage_text.h
Diffstat (limited to 'src/SimpleLogger.cc')
| -rw-r--r-- | src/SimpleLogger.cc | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/src/SimpleLogger.cc b/src/SimpleLogger.cc index 40a4b4fa..537cf24f 100644 --- a/src/SimpleLogger.cc +++ b/src/SimpleLogger.cc @@ -56,19 +56,23 @@ namespace aria2 { #endif #define WRITE_LOG(LEVEL, MSG) \ +if(LEVEL >= _logLevel){\ va_list ap;\ va_start(ap, MSG);\ -writeFile(Logger::LEVEL, MSG, ap);\ +writeFile(LEVEL, MSG, ap);\ flush();\ -va_end(ap); +va_end(ap);\ +} #define WRITE_LOG_EX(LEVEL, MSG, EX) \ +if(LEVEL >= _logLevel) {\ va_list ap;\ va_start(ap, EX);\ -writeFile(Logger::LEVEL, MSG, ap);\ -writeStackTrace(Logger::LEVEL, EX);\ +writeFile(LEVEL, MSG, ap);\ +writeStackTrace(LEVEL, EX);\ flush();\ -va_end(ap); +va_end(ap);\ +} const std::string SimpleLogger::DEBUG("DEBUG"); @@ -80,7 +84,7 @@ const std::string SimpleLogger::ERROR("ERROR"); const std::string SimpleLogger::INFO("INFO"); -SimpleLogger::SimpleLogger():stdoutField(0) {} +SimpleLogger::SimpleLogger():stdoutField(0), _logLevel(Logger::DEBUG) {} SimpleLogger::~SimpleLogger() { closeFile(); @@ -184,43 +188,48 @@ void SimpleLogger::flush() } void SimpleLogger::debug(const char* msg, ...) { - WRITE_LOG(DEBUG, msg); + WRITE_LOG(Logger::DEBUG, msg); } void SimpleLogger::debug(const char* msg, const Exception& e, ...) { - WRITE_LOG_EX(DEBUG, msg, e); + WRITE_LOG_EX(Logger::DEBUG, msg, e); } void SimpleLogger::info(const char* msg, ...) { - WRITE_LOG(INFO, msg); + WRITE_LOG(Logger::INFO, msg); } void SimpleLogger::info(const char* msg, const Exception& e, ...) { - WRITE_LOG_EX(INFO, msg, e); + WRITE_LOG_EX(Logger::INFO, msg, e); } void SimpleLogger::notice(const char* msg, ...) { - WRITE_LOG(NOTICE, msg); + WRITE_LOG(Logger::NOTICE, msg); } void SimpleLogger::notice(const char* msg, const Exception& e, ...) { - WRITE_LOG_EX(INFO, msg, e); + WRITE_LOG_EX(Logger::INFO, msg, e); } void SimpleLogger::warn(const char* msg, ...) { - WRITE_LOG(WARN, msg); + WRITE_LOG(Logger::WARN, msg); } void SimpleLogger::warn(const char* msg, const Exception& e, ...) { - WRITE_LOG_EX(WARN, msg, e); + WRITE_LOG_EX(Logger::WARN, msg, e); } void SimpleLogger::error(const char* msg, ...) { - WRITE_LOG(ERROR, msg); + WRITE_LOG(Logger::ERROR, msg); } void SimpleLogger::error(const char* msg, const Exception& e, ...) { - WRITE_LOG_EX(ERROR, msg, e); + WRITE_LOG_EX(Logger::ERROR, msg, e); +} + +void SimpleLogger::setLogLevel(Logger::LEVEL level) +{ + _logLevel = level; } } // namespace aria2 |
