python log 层次结构

文件结构

- run.py

- b

-- __init__.py

 

run.py

 1 import logging
 2 
 3 import b
 4 
 5 log = logging.getLogger("")
 6 
 7 tmp = logging.FileHandler('log.txt')
 8 log.addHandler(tmp)
 9 
10 log.warning("123")
11 
12 sample = b.b()
13 print sample.foo()

__init__.py

 1 import logging
 2 
 3 log = logging.getLogger("b")
 4 
 5 class b:
 6     def __init__(self):
 7         pass
 8 
 9     def foo(self):
10         log.warning(1111)
11         return "Foo in class b"

run.py 中的 addHandler 可以作用到 package b 下的文件,因为 getLogger("b) 也会 getLogger(""), 如果 run.py 中定义为 getLogger("a") 就获取不到了

Logger对象组织为一种层次结构 如 app.net.client 会有三个不同的 logger 对象 -- app || app.net || app.net.client

 

posted @ 2014-09-29 13:50  mess4u  阅读(503)  评论(0编辑  收藏  举报