removed param max_lines from I2nLogger: more trouble that it is worth
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Wed, 29 Jun 2016 15:02:08 +0000 (17:02 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Wed, 29 Jun 2016 15:02:08 +0000 (17:02 +0200)
src/log_helpers.py

index c275b13..3794f34 100644 (file)
@@ -186,12 +186,12 @@ class I2nLogger:
              constructor to avoid such situtations
 
     ..note:: Do not change or use the underlying logger or functionality here
-             (in particular line counting, get_level) is no longer reliable!
+             (in particular, get_level) is no longer reliable!
     """
 
     def __init__(self, name, level=INFO, fmt=DEFAULT_SHORT_LEVEL_FORMAT,
                  datefmt=DEFAULT_SHORT_LEVEL_DATE_FORMAT,
-                 streams=STDOUT, files=None, max_lines=None):
+                 streams=STDOUT, files=None):
         """ creates a I2nLogger; forwards args to logging.getLogger
 
 
@@ -205,8 +205,6 @@ class I2nLogger:
         :param streams: list/tuple of or a single stream to log to, default is
                         STDOUT (=sys.stdout)
         :param files: list/tuple or single file name to log to
-        :param max_lines: number > 0 to limit number of output calls to that
-                          number; give None (default) to no limit
         :raise: ValueError if an I2nLogger with the same name exists already
         """
 
@@ -251,9 +249,6 @@ class I2nLogger:
             new_handler.setLevel(self._level)
             self._log.addHandler(new_handler)
 
-        # remember max_lines
-        self.set_max_lines(max_lines)
-
         # remember that this logger is a I2nLogger
         _i2n_loggers[name] = self
 
@@ -289,17 +284,7 @@ class I2nLogger:
 
     def log(self, level, message, *args, **kwargs):
         if level >= self._level:
-            if self._line_counter == self._max_lines:
-                self._log.log(ERROR,
-                              'reached max number of output lines ({0}) '
-                              '-- will not log anything any more!'
-                              .format(self._line_counter))
-                self._line_counter += 1
-            elif self._line_counter > self._max_lines:
-                return
-            else:
-                self._log.log(level, message.format(*args), **kwargs)
-                self._line_counter += 1
+            self._log.log(level, message.format(*args), **kwargs)
 
     def log_count_if_interesting(self, count, level=INFO, counter_name=None):
         """ Log value of a counter in gradually coarser intervals
@@ -335,32 +320,6 @@ class I2nLogger:
         for handler in self._log.handlers:
             handler.setLevel(self._level)
 
-    def set_max_lines(self, max_lines):
-        """ limit number of lines this produces; give None to remove limit
-
-        resets the line counter
-        """
-        if max_lines > 0:
-            self._max_lines = max_lines
-        elif max_lines < 0 or (not max_lines):
-            self._max_lines = None
-        else:
-            raise ValueError('unexpected value for max_lines: {0}!'
-                             .format(max_lines))
-        self._line_counter = 0
-
-    def get_max_lines(self):
-        """ return current value for line limit """
-        return self._max_lines
-
-    def exceeded_max_lines(self):
-        """ return True if nothing will be logged because max_lines was reached
-        """
-        if self._max_lines:
-            return self._line_counter >= self._max_lines
-        else:
-            return False
-
 
 def n_digits(number):
     """ returns the number of digits a number has in decimal format
@@ -440,7 +399,6 @@ def test_short_level_format():
     # done
     logger.info('done testing')
 
-
 def test_get_logger():
     log = get_logger('logger_test')
     log2 = get_logger('logger_test')