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直接配置或者通过用户可编辑的配置文件进行加载,从而实现不修改应用程序而定制日志。
Python可以实现自动内存管理(对大多对象的引用计数并为消除循环引用做garbage collection).在最后一次对对象引用消除后,内存稍后就会释放。
这种方法在大多程序中运行良好,但是偶尔也需要在对象被其他东西使用时追踪对象,不幸的,仅仅为跟踪他们而创建的引用会使持久存在。Weakref模块提供一些跟踪对象而不需要创建引用的工具。当对象不再需要时,它会自动从weakref表中自动移除,并且一个针对wakref对象的回滚事务就会触发。典型的应用的创建都是昂贵的,包括缓存对象。
原文地址:http://blog.csdn.net/libin56842/article/details/26183597