diff options
Diffstat (limited to 'gentoo_ads/logging_setup.py')
-rw-r--r-- | gentoo_ads/logging_setup.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gentoo_ads/logging_setup.py b/gentoo_ads/logging_setup.py new file mode 100644 index 0000000..a8ceef0 --- /dev/null +++ b/gentoo_ads/logging_setup.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +import logging + +from logging.handlers import SysLogHandler + +LOGGING_DEBUG = True + +SYS_LOG_ADDRESS = '/dev/log' + +if not hasattr(logging, "set_up_done"): + logging.set_up_done=False + +def setup_logging(): + + if logging.set_up_done: + return + + + logger = logging.getLogger() + if LOGGING_DEBUG: + logger.setLevel(logging.DEBUG) + else: + logger.setLevel(logging.INFO) + + formatter = logging.Formatter("[%(site_name)s] %(asctime)s %(levelname)s %(message)s") + + # test console logger + if LOGGING_DEBUG: + handler = logging.StreamHandler() + handler.setLevel(logging.DEBUG) + handler.setFormatter(formatter) + logger.addHandler(handler) + + # SysLogHandler + SysLogAddress = SYS_LOG_ADDRESS + if SysLogAddress is not None: + handler = SysLogHandler(SysLogAddress) + handler.setLevel(logging.INFO) + handler.setFormatter(formatter) + logger.addHandler(handler) + + ######################### + # LOGGING LEVELS + # * indicates a custom level + # + # CRITICAL 50 + # ERROR 40 + # WARNING 30 + # INFO 20 + # DEBUG 10 + # NOTSET 0 + # + + + + logging.set_up_done=True + +setup_logging() |