forked from fwenzel/reporter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
log_settings.py
34 lines (26 loc) · 1.02 KB
/
log_settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import logging
import logging.handlers
from django.conf import settings
# Loggers created under the "reporter" namespace, e.g. "reporter.caching", will
# inherit the configuration from the base logger.
log = logging.getLogger('reporter')
level = settings.LOG_LEVEL
if settings.DEBUG:
fmt = ('%(asctime)s %(name)s:%(levelname)s %(message)s '
':%(pathname)s:%(lineno)s')
fmt = getattr(settings, 'LOG_FORMAT', fmt)
handler = logging.StreamHandler()
formatter = logging.Formatter(fmt, datefmt='%H:%M:%S')
else:
fmt = '%s: %s' % (settings.SYSLOG_TAG,
'%(name)s:%(levelname)s %(message)s :%(pathname)s:%(lineno)s')
fmt = getattr(settings, 'SYSLOG_FORMAT', fmt)
SysLogger = logging.handlers.SysLogHandler
handler = SysLogger(facility=SysLogger.LOG_LOCAL7)
formatter = logging.Formatter(fmt)
log.setLevel(level)
handler.setLevel(level)
handler.setFormatter(formatter)
for f in getattr(settings, 'LOG_FILTERS', []):
handler.addFilter(logging.Filter(f))
log.addHandler(handler)