Python3.2官方文档-日志和弱引用


8.5 日志

Logging模块提供了一些功能全面和灵活的日志系统。最简单的形式就是把日志信息发送到一个文件或sys.stderr;

import logging

logging.debug(’Debugging information’)

logging.info(’Informational message’)

logging.warning(’Warning:config file %s not found’, ’server.conf’)

logging.error(’Error occurred’)

logging.critical(’Critical error -- shutting down’)

上面将会产生如下输出:

WARNING:root:Warning:config file server.conf not found

ERROR:root:Error occurred

CRITICAL:root:Critical error -- shutting down

默认的,提示信息和调试信息都会被捕获,并且把输出发送到标准错误。其他输出可选项包括通过邮件路由信息,数据报,套接字或到一个http服务器。新的过滤选择基于信息优先级不同的路由:Debug, info,warning,error和critical.

日志系统可以通过paython直接配置或者通过用户可编辑的配置文件进行加载,从而实现不修改应用程序而定制日志。

8.6 弱引用

Python可以实现自动内存管理(对大多对象的引用计数并为消除循环引用做garbage collection).在最后一次对对象引用消除后,内存稍后就会释放。

这种方法在大多程序中运行良好,但是偶尔也需要在对象被其他东西使用时追踪对象,不幸的,仅仅为跟踪他们而创建的引用会使持久存在。Weakref模块提供一些跟踪对象而不需要创建引用的工具。当对象不再需要时,它会自动从weakref表中自动移除,并且一个针对wakref对象的回滚事务就会触发。典型的应用的创建都是昂贵的,包括缓存对象。

\


评论关闭