mptools icon indicating copy to clipboard operation
mptools copied to clipboard

logging is hard to configure

Open stockh0lm opened this issue 3 years ago • 0 comments

I needed to switch logging to syslog, and added code to do that:

LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(levelname)s %(module)s P%(process)d T%(thread)d %(message)s' }, }, 'handlers': { 'stdout': { 'class': 'logging.StreamHandler', 'stream': sys.stdout, 'formatter': 'verbose', }, 'sys-logger6': { 'class': 'logging.handlers.SysLogHandler', "address": ["127.0.0.1", 514], 'facility': "local6", 'formatter': 'verbose', }, }, 'loggers': { 'my-logger': { 'handlers': ['sys-logger6', 'stdout'], 'level': logging.DEBUG, 'propagate': True, }, } }

logging.config.dictConfig(LOGGING) my_logger = logging.getLogger('my-logger')

def _logger(name, level, msg, exc_info=None): elapsed = time.monotonic() - start_time hours = int(elapsed // 60) seconds = elapsed - (hours * 60) my_logger.log(level, f'{os.getpid()} - {hours:3}:{seconds:06.3f} {name:20} {msg}', exc_info=exc_info)

this could easily be put into a json config file.

is that a desired feature? i could provide a patch.

stockh0lm avatar Jun 21 '21 11:06 stockh0lm