Module: check_mk
Branch: master
Commit: aedd1c6d5d0954b8c401e7f11e2b3b3a22618a51
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=aedd1c6d5d0954…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Jun 26 11:44:51 2017 +0200
Improved standard logging methods
Change-Id: I942bb3ddb95f3b50b963600a0e4b66bf0165b04e
---
lib/log.py | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/lib/log.py b/lib/log.py
index ec3c961..a14a291 100644
--- a/lib/log.py
+++ b/lib/log.py
@@ -80,10 +80,11 @@ def get_logger(name):
return logger.getChild(name)
-def get_formatter():
+def get_formatter(format="%(asctime)s [%(levelno)s] [%(name)s %(process)d]
%(message)s"):
"""Returns a new message formater instance that uses the standard
- Check_MK log format"""
- return _logging.Formatter("%(asctime)s [%(levelno)s] [%(name)s %(process)d]
%(message)s")
+ Check_MK log format by default. You can also set another format
+ if you like."""
+ return _logging.Formatter(format)
def setup_console_logging():
@@ -123,25 +124,27 @@ def set_verbosity(verbosity):
raise NotImplementedError()
-# TODO: Experimental. Not yet used.
class LogMixin(object):
"""Inherit from this class to provide logging support.
Makes a logger available via "self.logger" for objects and
"self.cls_logger" for the class.
"""
- _logger = None
- _cls_logger = None
+ _parent_logger = None
+ _logger = None
+ _cls_logger = None
@property
def logger(self):
if not self._logger:
- self._logger = _logging.getLogger('.'.join([__name__,
self.__class__.__name__]))
+ parent = self._parent_logger or logger
+ self._logger = parent.getChild('.'.join([self.__class__.__name__]))
return self._logger
@classmethod
def cls_logger(cls):
if not cls._cls_logger:
- cls._cls_logger = _logging.getLogger('.'.join([__name__,
cls.__name__]))
+ parent = self._parent_logger or logger
+ cls._cls_logger = parent.getChild('.'.join([cls.__name__]))
return cls._cls_logger