4 BASE_DIR = os.path.dirname(os.path.dirname(__file__))
5 LOGS_DIR = os.path.join(BASE_DIR, 'logs')
8 class RequestFilter(logging.Filter):
9 def filter(self, record):
10 record.client = record.request.META.get('REMOTE_HOST') or record.request.META.get('REMOTE_ADDR')
14 DATE_FORMAT = "%Y.%m.%d %H:%M:%S"
18 'disable_existing_loggers': False,
21 'format': '[%(asctime)s] %(levelname)-8s - %(status_code)s - %(message)s',
22 'datefmt': DATE_FORMAT,
25 'format': '%(levelname)s %(message)s',
26 'datefmt': DATE_FORMAT,
29 'format': '[%(asctime)s] %(levelname)-8s %(client)16s - %(status_code)s - %(message)s',
30 'datefmt': DATE_FORMAT,
33 'format': '[%(asctime)s] %(levelname)-8s %(message)s',
34 'datefmt': DATE_FORMAT,
39 '()': 'plgng.settings_logging.RequestFilter',
45 'class': 'logging.StreamHandler',
50 'class': 'logging.handlers.RotatingFileHandler',
51 'filename': os.path.join(LOGS_DIR, 'main.log'),
52 'maxBytes': 1024 * 1024 * 5, # 5 MB
54 'formatter': 'verbose'
58 'class': 'logging.handlers.RotatingFileHandler',
59 'filename': os.path.join(LOGS_DIR, 'requests.log'),
60 'maxBytes': 1024 * 1024 * 5, # 5 MB
62 'formatter': 'request',
63 'filters': ['request_filter']
67 'class': 'logging.handlers.RotatingFileHandler',
68 'filename': os.path.join(LOGS_DIR, 'openid.log'),
69 'maxBytes': 1024 * 1024 * 5, # 5 MB
70 'formatter': 'request',
71 'filters': ['request_filter']
75 'class': 'logging.handlers.RotatingFileHandler',
76 'filename': os.path.join(LOGS_DIR, 'sql.log'),
77 'maxBytes': 1024 * 1024 * 5, # 5 MB
78 'formatter': 'date_msg',
83 'handlers': ['main_log'],
87 'handlers': ['request_log'],
91 'django.db.backends': {
92 'handlers': ['sql_log'],
97 'handlers': ['openid_log'],