一段管理实例的代码
来源:互联网 发布:日本留学费用 知乎 编辑:程序博客网 时间:2024/05/24 04:16
logging中很好一段代码,在返回实例前先通过类的参数检查是否存在,存在就返回已存在的实例,不存在就实例化
def getLogger(self, name): """ Get a logger with the specified name (channel name), creating it if it doesn't yet exist. This name is a dot-separated hierarchical name, such as "a", "a.b", "a.b.c" or similar. If a PlaceHolder existed for the specified name [i.e. the logger didn't exist but a child of it did], replace it with the created logger and fix up the parent/child references which pointed to the placeholder to now point to the logger. """ rv = None if not isinstance(name, basestring): raise TypeError('A logger name must be string or Unicode') if isinstance(name, unicode): name = name.encode('utf-8') _acquireLock() try: if name in self.loggerDict: rv = self.loggerDict[name] if isinstance(rv, PlaceHolder): ph = rv rv = (self.loggerClass or _loggerClass)(name) rv.manager = self self.loggerDict[name] = rv self._fixupChildren(ph, rv) self._fixupParents(rv) else: rv = (self.loggerClass or _loggerClass)(name) rv.manager = self self.loggerDict[name] = rv self._fixupParents(rv) finally: _releaseLock() return rv
阅读全文
0 0
- 一段管理实例的代码
- 一段权限管理的代码!
- 一段分页程序实例代码!
- 一段不可思议的代码
- 一段写晕掉的代码
- 一段好玩的代码
- 一段有趣的代码
- 一段漏洞百出的代码
- 一段弃暗投明的代码
- treeview的一段代码
- 一段分页的代码
- 一段简单的代码
- 一段smc的代码
- 一段好的代码
- CRM_ORDER_READ 的一段代码
- 一段ITEMCHANGED的代码
- 一段代码的差别
- 一段奇怪的代码
- 使用Thrift API监控Storm集群和Topology
- 树莓派下播放音乐
- 17、Android开发基础之读取到SD卡的剩余空间
- Spring依赖注入的三种方式
- C++反汇编第四讲,反汇编中识别继承关系,父类,子类,成员对象
- 一段管理实例的代码
- 专题页汇聚seo流量的葵花宝典
- 记录运行时间
- 分布式数据库系统
- win server 2008 创建用户时密码不满足策略要求
- 从窗口到视口的映射
- Android Gradle 使用教程
- RESTful API 设计指南
- gradle学习