该
logging模块使用附加到记录器的处理程序来决定最终存储或显示消息的方式,位置或方式。您可以
logging默认配置为也写入文件。您应该真正阅读过文档,但是如果您将要写入消息的文件的名称调用到
logging.basicConfig(filename=log_file_name)哪里
log_file_name(请注意,您必须在
logging调用其他任何文件之前先执行此操作),然后所有消息都会记录到所有记录器中(除非稍后会进行一些进一步的重新配置)。请注意记录器设置为什么级别;如果有内存,
info则低于默认日志级别,因此您还必须
level=logging.INFO将参数包含在内,以使
basicConfig消息最终出现在文件中。
至于问题的另一部分,则
logging.getLogger(some_string)返回一个
Logger对象,该对象从root记录器插入到层次结构中的正确位置,名称为的值
some_string。调用时不带参数,它将返回根记录器。
__name__返回当前模块的名称,因此
logging.getLogger(__name__)返回
Logger名称设置为当前模块名称的对象。这是与一起使用的常见模式
logging,因为它会使记录器结构镜像您代码的模块结构,这通常使调试时记录消息更加有用。



