转载请注明:
仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/
通常我们在构建 python 系统时,往往需要一个简单的 logging 框架。python 自带的 logging 框架的确十分完善,但是本身过于复杂,因此需要自行封装来满足我们的高(zhuang)端(b)需求
1. 常用的格式化字符串:
这是我比较常用的格式化字符串,不同的人可能有不同的习惯
1 # 第一种,月日年的输出 2 DEFAULT_DATE_FMT = '%a, %p %b %d %Y %H:%M:%S' 3 # Wed, Sep 27 2017 18:56:40 4 5 #第二种,年月日 6 DEFAULT_DATE_FMT = '%Y-%m-%d %a, %p %H:%M:%S' 7 # Wed, 2017-09-27 18:59:33
2. logging 框架的简单基本用法:
1 # 简单的logging配置 2 import logging 3 4 logging.basicConfig(level=logging.DEBUG, 5 format='[%(asctime)s %(filename)s [line:%(lineno)d]] %(levelname)s %(message)s', 6 datefmt='%a, %d %b %Y %H:%M:%S', 7 filename='myapp.log', 8 filemode='w')
这样的好处是,在一些情况下可以简单配置log之后输出,但是其格式中的样式是难以变化的
3. 封装自己的 logger 框架
毫无疑问,为了方便代码的维护和重构,职责单一原则必不可少。目前的 v0.1 版本的 UML 图如下:
3.1 颜色:
CmdColor 类主要用于存储命令行控制台的字体转义字符串,并且保证颜色名称到颜色转义字符串的映射,其中包括一些常用的颜色
其中代码如下:
本类作为颜色的映射,主要实现了获取所有颜色,以及查重的set,以及名称到字符串的映射
1 class CmdColor(): 2 ''' Cmd color escape strings ''' 3 # color escape strings 4 __COLOR_RED = '