当我在配置文件中配置根记录器时,其他子记录器不会遵循相同的配置。
main.py
import logging
import logging.config
import test
logging.config.fileConfig("logger.ini")
logger = logging.root
logger.critical("main")
test.f()
test.py
import logging
logger = logging.getLogger(__name__)
def f():
print "inside f"
logger.critical("Test")
print logger.parent.name
print logger.parent.handlers
logger.ini
[loggers]
keys=root
[handlers]
keys=console
[formatters]
keys=form
[logger_root]
level=DEBUG
handlers=console
[handler_console]
class=StreamHandler
formatter=form
args=()
[formatter_form]
format=%(levelname)s:%(name)s:%(message)s
当我运行程序时,我得到的结果不是我想要的。
CRITICAL:root:main
inside f
root
[<logging.StreamHandler object at 0x00000000021C4908>]
但是我没有来自另一个文件的日志。我认为如果子进程没有任何处理程序,他会将日志发送到他的父进程。不知道为什么我看不到日志?或者如何解决它?