[formatters] keys: detailed,simple,unadorned,state [handlers] keys: simple_console,detailed_console,unadorned_console,simple_console_warnings_only [loggers] keys: root,build,state,mockbuild [formatter_state] format: %(asctime)s - %(message)s [formatter_unadorned] format: %(message)s [formatter_simple] format: %(levelname)s: %(message)s ;useful for debugging: [formatter_detailed] format: %(levelname)s %(filename)s:%(lineno)d: %(message)s [handler_unadorned_console] class: StreamHandler args: [] formatter: unadorned level: INFO [handler_simple_console] class: StreamHandler args: [] formatter: simple level: INFO [handler_simple_console_warnings_only] class: StreamHandler args: [] formatter: simple level: WARNING [handler_detailed_console] class: StreamHandler args: [] formatter: detailed level: WARNING ; usually dont want to set a level for loggers ; this way all handlers get all messages, and messages can be filtered ; at the handler level ; ; all these loggers default to a console output handler ; [logger_root] level: NOTSET handlers: simple_console ; mockbuild logger normally has no output ; catches stuff like mockbuild.trace_decorator and mockbuild.util ; dont normally want to propagate to root logger, either [logger_mockbuild] level: NOTSET handlers: qualname: mockbuild propagate: 1 [logger_state] level: NOTSET ; unadorned_console only outputs INFO or above handlers: unadorned_console qualname: mockbuild.Root.state propagate: 0 [logger_build] level: NOTSET handlers: simple_console_warnings_only qualname: mockbuild.Root.build propagate: 0 ; the following is a list mock logger qualnames used within the code: ; ; qualname: mockbuild.util ; qualname: mockbuild.uid ; qualname: mockbuild.trace_decorator