[loggers] keys = root, yagi, winchester, oahu [handlers] keys = stderr, stdout, watchedfile, syslog, null [formatters] keys = yagi, default [logger_root] level = WARNING handlers = null [logger_yagi] level = INFO handlers = stderr qualname = yagi [logger_winchester] level = INFO handlers = stderr qualname = winchester [logger_oahu] level = DEBUG handlers = stderr qualname = oahu [logger_amqplib] level = WARNING handlers = stderr qualname = amqplib [logger_sqlalchemy] # yagi does not use sqlalchemy... yet. -mdragon level = WARNING handlers = stderr qualname = sqlalchemy # "level = INFO" logs SQL queries. # "level = DEBUG" logs SQL queries and results. # "level = WARNING" logs neither. (Recommended for production systems.) [handler_stderr] class = StreamHandler args = (sys.stderr,) formatter = yagi [handler_stdout] class = StreamHandler args = (sys.stdout,) formatter = yagi [handler_watchedfile] class = handlers.WatchedFileHandler args = ('sandbox.log',) formatter = yagi [handler_syslog] class = handlers.SysLogHandler args = ('/dev/log', handlers.SysLogHandler.LOG_USER) formatter = yagi [handler_null] class = NullHandler formatter = default args = () [formatter_yagi] # substitutions available for formats are documented at: # https://docs.python.org/2/library/logging.html#logrecord-attributes #format = %(name)s[%(levelname)s at %(asctime)s line: %(lineno)d] %(message)s format = %(name)s[%(levelname)s line: %(lineno)d] %(message)s [formatter_default] format = %(message)s