Add vlogging.basic_config.
This commit is contained in:
parent
5b6a1b4c9c
commit
e826eeca2c
1 changed files with 23 additions and 12 deletions
|
@ -40,6 +40,28 @@ def add_loud(log):
|
||||||
addLevelName(LOUD, 'LOUD')
|
addLevelName(LOUD, 'LOUD')
|
||||||
log.loud = loud.__get__(log, log.__class__)
|
log.loud = loud.__get__(log, log.__class__)
|
||||||
|
|
||||||
|
def basic_config(level):
|
||||||
|
'''
|
||||||
|
This adds a handler with the given level to the root logger, but only
|
||||||
|
if it has no handlers yet.
|
||||||
|
'''
|
||||||
|
# Previously I was using basicConfig to prepare the handlers and then
|
||||||
|
# setting root.setLevel, but the problem is that prevents any other
|
||||||
|
# handlers on the root from receiving messages at a lower level.
|
||||||
|
# It works best if the logger itself doesn't have a level and the handlers
|
||||||
|
# can choose what they want.
|
||||||
|
root = getLogger()
|
||||||
|
|
||||||
|
if root.handlers:
|
||||||
|
return
|
||||||
|
|
||||||
|
root.setLevel(NOTSET)
|
||||||
|
|
||||||
|
handler = StreamHandler()
|
||||||
|
handler.setFormatter(Formatter('{levelname}:{name}:{message}', style='{'))
|
||||||
|
handler.setLevel(level)
|
||||||
|
root.addHandler(handler)
|
||||||
|
|
||||||
def get_level_by_argv(argv):
|
def get_level_by_argv(argv):
|
||||||
'''
|
'''
|
||||||
If any of the following arguments are present in argv, return the
|
If any of the following arguments are present in argv, return the
|
||||||
|
@ -139,17 +161,6 @@ def main_level_by_argv(argv):
|
||||||
'''
|
'''
|
||||||
(level, argv) = get_level_by_argv(argv)
|
(level, argv) = get_level_by_argv(argv)
|
||||||
|
|
||||||
# Previously I was using basicConfig to prepare the handlers and then
|
basic_config(level)
|
||||||
# setting root.setLevel, but the problem is that prevents any other
|
|
||||||
# handlers on the root from receiving messages at a lower level.
|
|
||||||
# It works best if the logger itself doesn't have a level and the handlers
|
|
||||||
# can choose what they want.
|
|
||||||
root = getLogger()
|
|
||||||
root.setLevel(NOTSET)
|
|
||||||
|
|
||||||
handler = StreamHandler()
|
|
||||||
handler.setFormatter(Formatter('{levelname}:{name}:{message}', style='{'))
|
|
||||||
handler.setLevel(level)
|
|
||||||
root.addHandler(handler)
|
|
||||||
|
|
||||||
return argv
|
return argv
|
||||||
|
|
Loading…
Reference in a new issue