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 |
|
-
|