正如AWS文档所示:
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def my_logging_handler(event, context):
logger.info('got event{}'.format(event))
logger.error('something went wrong')
Run Code Online (Sandbox Code Playgroud)
现在我做了:
import logging
logging.basicConfig(level = logging.INFO)
logging.info("Hello World!")
Run Code Online (Sandbox Code Playgroud)
第一段代码在Cloud Watch控制台中打印,但第二段没有.
我没有看到任何差异,因为两个片段正在使用根记录器.
从python日志记录文档的第15.7.4节:
注意每当一个事件被记录到该处理程序(使用调试(),信息(),等等),只要一个事件是由处理机发出的附接至处理滤波器进行协商,而附连到记录器的过滤器进行协商这意味着该事件已经由后代记录器生成的记录器不会被记录器的过滤器设置过滤,除非过滤器也已应用于这些后代记录器.
我不明白这个设计决定.将根记录器的过滤器应用于后代记录器也没有意义吗?