Skip to content

Instantly share code, notes, and snippets.

@dotpot
Created April 14, 2014 12:46
Show Gist options
  • Save dotpot/10644734 to your computer and use it in GitHub Desktop.
Save dotpot/10644734 to your computer and use it in GitHub Desktop.
import logging
from logging import config
ON_LOGGERS = True
config.dictConfig({
'version': 1,
'formatters': {
'fmt_root': {'format': '[ / ] - %(levelname)s - %(name)s - %(message)s'},
'fmt_pkg': {'format': '[ /pkg ] - %(levelname)s - %(name)s - %(message)s'},
'fmt_pkg_sub': {'format': '[ /pkg/sub ] - %(levelname)s - %(name)s - %(message)s'},
},
'handlers': {
'hnd_root': {
'class': 'logging.StreamHandler',
'level': logging.DEBUG,
'stream': 'ext://sys.stdout',
'formatter': 'fmt_root',
},
'hnd_pkg': {
'class': 'logging.StreamHandler',
'level': logging.DEBUG if ON_LOGGERS else logging.WARNING,
'stream': 'ext://sys.stdout',
'formatter': 'fmt_pkg',
},
'hnd_pkg_sub': {
'class': 'logging.StreamHandler',
'level': logging.DEBUG if ON_LOGGERS else logging.INFO,
'stream': 'ext://sys.stdout',
'formatter': 'fmt_pkg_sub',
},
},
'root': {
'handlers': ['hnd_root'],
'level': logging.DEBUG,
},
'loggers': {
'pkg': {
'handlers': ['hnd_pkg'],
'level': logging.WARNING if ON_LOGGERS else logging.DEBUG,
'propagate': True,
},
'pkg.sub': {
'handlers': ['hnd_pkg_sub'],
'level': logging.INFO if ON_LOGGERS else logging.DEBUG,
'propagate': True,
},
},
})
logging.getLogger().info('message 1')
logging.getLogger('pkg').info('message 2')
logging.getLogger('pkg.sub').info('message 3')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment