-#!/usr/bin/python
+#!/usr/bin/env python3
"""
A reroutable logger that can handle deep tracebacks
# pylint: disable=c0111, c0103, w1201
-from __future__ import print_function
+
import os
import os.path
if context == 'server':
handlername = 'file'
filename = '/var/log/sfa.log'
- level = 'INFO'
+ level = 'DEBUG'
elif context == 'import':
handlername = 'file'
filename = '/var/log/sfa-import.log'
print("Cannot configure logging - exiting")
exit(1)
- return {
+ config = {
'version': 1,
# IMPORTANT: we may be imported by something else, so:
'disable_existing_loggers': False,
'%(filename)s:%(lineno)d %(message)s'),
},
},
+ # fill in later with just the one needed
+ # otherwise a dummy 'ignored' file gets created
'handlers': {
- 'file': {
- 'filename': filename,
- 'level': level,
- # not using RotatingFileHandler for this first version
- 'class': 'logging.FileHandler',
- 'formatter': 'standard',
- },
- 'stdout': {
- 'level': level,
- 'class': 'logging.StreamHandler',
- 'formatter': 'standard',
- },
},
'loggers': {
'sfa': {
},
},
}
+ if handlername == 'stdout':
+ config['handlers']['stdout'] = {
+ 'level': level,
+ 'formatter': 'standard',
+ 'class': 'logging.StreamHandler',
+ }
+ else:
+ config['handlers']['file'] = {
+ 'filename': filename,
+ 'level': level,
+ 'formatter': 'standard',
+ 'class': 'logging.handlers.TimedRotatingFileHandler',
+ # every monday and during 3 months
+ 'when': 'w0',
+ 'interval': 1,
+ 'backupCount': 12,
+ }
+ return config
logger = logging.getLogger('sfa')