Browse Source

[2445] Remove setLogLevel(TRACE) in createBufferAppender

This has a chance that some log messages get lost (DEBUG messages during startup in case -v is not given but the config has DEBUG set)
Jelte Jansen 12 years ago
parent
commit
3f9c7bb8a9
2 changed files with 5 additions and 8 deletions
  1. 0 3
      src/lib/log/logger_manager_impl.cc
  2. 5 5
      src/lib/log/tests/buffer_logger_test.cc

+ 0 - 3
src/lib/log/logger_manager_impl.cc

@@ -145,9 +145,6 @@ LoggerManagerImpl::createBufferAppender(log4cplus::Logger& logger) {
     log4cplus::SharedAppenderPtr bufferapp(new internal::BufferAppender());
     bufferapp->setName("buffer");
     logger.addAppender(bufferapp);
-    // Since we do not know at what level the loggers will end up
-    // running, set it to the highest for now
-    logger.setLogLevel(log4cplus::TRACE_LOG_LEVEL);
 }
 
 // Syslog appender.

+ 5 - 5
src/lib/log/tests/buffer_logger_test.cc

@@ -22,7 +22,7 @@ using namespace isc::log;
 
 namespace {
 void usage() {
-    std::cout << "Usage: buffer_logger_test [-n]" << std::endl;
+    std::cout << "Usage: buffer_logger_test [-nv]" << std::endl;
 }
 } // end unnamed namespace
 
@@ -52,10 +52,10 @@ main(int argc, char** argv) {
         }
     }
 
-    // Note, level is INFO, so DEBUG should normally not show
-    // up. Unless process is never called (at which point it
-    // will end up in the dump at the end).
-    initLogger("buffertest", isc::log::INFO, 0, NULL, true);
+    // Note, level is set to DEBUG here, but back to INFO
+    // in process(), so when flushing to stdout (-n), the DEBUG
+    // message should show up
+    initLogger("buffertest", isc::log::DEBUG, 99, NULL, true);
     Logger logger("log");
     // No need for file interprocess locking in this test
     logger.setInterprocessSync(new isc::util::InterprocessSyncNull("logger"));