1557738246703.jpg 3.5 Logging⼯作流程
过该名字来得到相应的Logger对象实例)。
4. 使⽤Logger对象中的debug,info,error,warn,critical等⽅法记录⽇志信息。
lo gging模块处理流程
477558-a099cc71d0a4c453.png
1. 判断⽇志的等级是否⼤于Logger对象的等级,如果⼤于,则往下执⾏,否则,流程结束。
2. 产⽣⽇志。第⼀步,判断是否有异常,如果有,则添加异常信息。第⼆步,处理⽇志记录⽅法(如debug,info等)中的占位符,即⼀般的字符
串格式化处理。
3. 使⽤注册到Logger对象中的Filters进⾏过滤。如果有多个过滤器,则依次过滤;只要有⼀个过滤器返回假,则过滤结束,且该⽇志信息将丢
弃,不再处理,⽽处理流程也⾄此结束。否则,处理流程往下执⾏。
4. 在当前Logger对象中查Handlers,如果不到任何Handler,则往上到该Logger对象的⽗Logger中查;如果到⼀个或多个
Handler,则依次⽤Handler来处理⽇志信息。但在每个Handler处理⽇志信息过程中,会⾸先判断⽇志信息的等级是否⼤于该Handler的等级,如果⼤于,则往下执⾏(由Logger对象进⼊Handler对象中),否则,处理流程结束。
5. 执⾏Handler对象中的filter⽅法,该⽅法会依次执⾏注册到该Handler对象中的Filter。如果有⼀个Filter判断该⽇志信息为假,则此后的所有
Filter都不再执⾏,⽽直接将该⽇志信息丢弃,处理流程结束。
6. 使⽤Formatter类格式化最终的输出结果。 注:Formatter同上述第2步的字符串格式化不同,它会添加额外的信息,⽐如⽇志产⽣的时间,
产⽣⽇志的源代码所在的源⽂件的路径等等。
7. 真正地输出⽇志信息(到⽹络,⽂件,终端,邮件等)。⾄于输出到哪个⽬的地,由Handler的种类来决定。
4. ⾃定义配置python格式化输出format
4.1 格式配置
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论