Projet

Général

Profil

0007-misc-log-to-stderr-journald-remove-storing-of-log-fi.patch

Frédéric Péters, 01 février 2022 16:28

Télécharger (3,52 ko)

Voir les différences:

Subject: [PATCH 7/8] misc: log to stderr (-> journald), remove storing of log
 file (#61292)

 wcs/qommon/logger.py    |  5 +++++
 wcs/qommon/publisher.py | 40 +++++++---------------------------------
 2 files changed, 12 insertions(+), 33 deletions(-)
wcs/qommon/logger.py
77 77
            record.address = '-'
78 78
            record.path = '-'
79 79

  
80
        if get_publisher() and hasattr(get_publisher(), 'tenant'):
81
            record.tenant = get_publisher().tenant.hostname
82
        else:
83
            record.tenant = '-'
84

  
80 85
        return logging.Formatter.format(self, record).replace('\n', '\n ')
wcs/qommon/publisher.py
27 27
import linecache
28 28
import locale
29 29
import logging
30
import logging.handlers
31 30
import os
32 31
import pickle
33 32
import random
......
434 433
        md5_hash.update(force_bytes(self.app_dir))
435 434
        self.config.session_cookie_name = 'sessionid-%s-%s' % (self.APP_NAME, md5_hash.hexdigest()[:6])
436 435
        self.config.session_cookie_path = '/'
437

  
438
        if debug_cfg.get('logger', True):
439
            self._app_logger = self.get_app_logger(force=True)
440
        else:
441

  
442
            class NullLogger:
443
                def error(self, *args):
444
                    pass
445

  
446
                def warn(self, *args):
447
                    pass
448

  
449
                def warning(self, *args):
450
                    pass
451

  
452
                def info(self, *args):
453
                    pass
454

  
455
                def debug(self, *args):
456
                    pass
457

  
458
            self._app_logger = NullLogger()
436
        self._app_logger = self.get_app_logger(force=True)
459 437

  
460 438
    def set_app_dir(self, request):
461 439
        """
......
768 746

  
769 747
    _app_logger = None
770 748

  
771
    def get_app_logger_filename(self):
772
        return os.path.join(self.app_dir, '%s.log' % self.APP_NAME)
773

  
774 749
    def get_app_logger(self, force=False):
775
        debug = self.cfg.get('debug', {}).get('debug_mode', False)
776 750
        if self._app_logger and not force:
777 751
            return self._app_logger
778 752

  
779 753
        self._app_logger = logging.getLogger(self.APP_NAME + self.app_dir)
780
        logfile = self.get_app_logger_filename()
781

  
782 754
        if not self._app_logger.handlers:
783
            hdlr = logging.handlers.RotatingFileHandler(logfile, 'a', 2 ** 20, 100)
784
            # max size = 1M
785
            formatter = logger.Formatter('%(asctime)s %(levelname)s %(address)s %(path)s - %(message)s')
755
            hdlr = logging.StreamHandler()  # -> sys.stderr
756
            # do not include date/time as they will be automatically added by journald
757
            formatter = logger.Formatter('({levelname:.1s}) {tenant} {address} {path} - {message}', style='{')
786 758
            hdlr.setFormatter(formatter)
787 759
            self._app_logger.addHandler(hdlr)
788
        if debug:
760

  
761
        if self.cfg.get('debug', {}).get('debug_mode', False):
789 762
            self._app_logger.setLevel(logging.DEBUG)
790 763
        else:
791 764
            self._app_logger.setLevel(logging.INFO)
765

  
792 766
        return self._app_logger
793 767

  
794 768
    def sitecharset2utf8(self, str):
795
-