允许自定义和彩色日志输出的格式化程序。

styled-log的Python项目详细描述


`` `````:日志记录。格式化子类,允许自定义格式化和样式日志记录的格式化子类。对于允许自定义格式化和样式日志记录的格式化子类,允许自定义格式化和样式日志记录的格式化子类。
=========================================================================



>默认情况下,由[colorama]提供动力,默认情况下,由[colorama]提供动力(https://github.com.com.com.https://github.com.com.github.com.com.com.com/tartley/colorama)。

允许用于记录器属性的ANSI样式设置功能,以及用于该属性的特定值的ANSI样式设置。



https://gitlab.com/itvannak/styled log/blob/master/styled log.gif


;例如:












<

<








loglog=log logging.getloglog.getloglogger('test log logger')
styled日志日志

例如:


_formatter=styledformatter()

snsole=logging.streamhandler(sys.stderr)streamhandler(sys.stderr)
>将数据写入到console.setformatter(styled格式化程序)logger.addhandler(将数据写入到控制台)
```



logger.addhandler(将数据写入到控制台)日志结构定制:日志结构定制:
```
>导入日志


>不要调用basicconfig



logger=logging.getloglogloglogger.getloglogger'测试日志'ger')

custom_map=ordereddict()
custom_map['%(asctime)s']=("blue_fore",)
custom_map['%(module)s']=("yellow_fore",)
custom_map['%(lineno)s']=("red_fore",)
custom_map['%(message)s']=none
custom_map['%(levelname)s']={
"debug":("青色前额",),
"信息":("蓝色前额",),
"错误":("红色前额","明亮前额"),
"警告":("红色前额","明亮前额"),
"关键":("红色前额"","bright_style')
}


styled_formatter=styledformatter(自定义映射)


writes_to_console=logging.streamhandler(sys.stderr)
writes_to_console.setformatter(styled_formatter)

logger.addhandler(writes_to_console)
logger.info('"!"

2019-03-24 10:35:59091;lt;ipython-input-2-7091e3083bda>;190;嘿!信息
`````

````

`````最大定制量:
``````

导入日志


` ``不要调用basicconfig


logger=loglogging.getlogloglogger('test'loglogger'getloglogger'getlogger('test'loglogger')



custom-ansi-ansi-map={
‘红色’:'\x1b[31m'[31m',
‘蓝色’''\x1b[x1b[br/>```````````34m',
"绿色":'\x1b[32m'
}


_map(custom_ansi_map)

年龄)s']=none
custom-map['%(levelname)s']={
'debug':('green',),
'info':('blue',),
'error':('red',),
'warning':('red',),
'critical':('red',)







styledfformatter=styledfformatter(custom-map)格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式格式汉德尔er(sys.stderr)
将数据写入控制台.setformatter(样式化格式化程序)

logger.info('hey there!')

2019-03-24 10:35:59091;lt;ipython-input-2-7091e3083bda>;190;嘿!;info
```

为可读性而设计——即围绕ANSI地图构建。
2.不是重新发明另一个ANSI库。
3.将ANSI代码逻辑与记录器格式化逻辑分开
4。遵循日志库的设计原则

允许用户为ANSI样式代码提供自己的可读名称。

**styled formatter**:logging.formatter的子类,允许为每个日志消息设置样式的署名。**此类的样式参数必须与人类-全局ANSI映射中的可读名称。**

**style**:实际引用全局ANSI映射并应用ANSI代码的函数。

**show_ansi_map**:显示不同ANSI代码对字符串的影响的函数。

同样,**styledformatter的样式参数必须与全局ansi映射中的键对齐。**这意味着
1。如果选择提供自定义ansi映射,则该映射必须包含可选styledformatter参数中引用的键
2。或者,显式地提供这些参数的值,以便与ansi映射对齐。
2。即使您可以像平常一样提供``%()d/f``属性,但我们是字符串格式,因此它们将作为字符串返回,尽管我不认为这是一个问题。

** BR/> 1。可以对字符串应用多个ANSI代码。例如,"alert"应该是红色和亮的,在这种情况下,对style的调用(当使用默认的ansi映射时)应该是:
`` style(text="alert",("red-fore","bright-style")````

**为什么是全局字典**?< > 1。将日志署名格式的关注点从ANSI代码中分离出来。
2.styledformatter实例化中少了一个参数。
3。我更喜欢一个显式的``加载ansi`映射(自定义的``加载ansi`映射)``
4的可用性。允许用户以编程方式更改样式,而不必重新实例化其格式化程序。考虑如下样式:
``低强度:一些强度,中等强度:另一个强度,高强度:第三个强度,然后能够动态切换这些值。

多少定制太多了-我还是不知道答案。
2.我能从典型的格式化参数结构中获得多少自由?
3。找到利用"插槽"的方法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring引导,通过POST从InputStream上载文件期间RestTemplate异常   Java小程序在小程序查看器中运行,但不在浏览器中运行   swing如何追踪Java中看似随机的崩溃?   带线程池的多线程Java阶乘计算   java EWS:FindItem请求异常中不支持的限制   java Android studio ListView默认项   Java的字符串。split()删除尾随的空条目   java如何在j2EE应用程序中通过JMS和Websphere MQ发送和接收xml文件   facebook图形api Solrjava错误:class com。restfb。类型。Post声明多个名为type的JSON字段   java Oracle数据库:使用字符(X)或数字(X)代替日期   java如何在saxon中使用DirectoryCollection   oracle我可以脱机“查看”Java标准库吗   java的增量if循环函数在主函数的增量循环中   oracle数字类型的数据库java映射   java读取一个文本文件并写入多个文本文件以进行过滤/提取   java ImageJ无法获取CurrentImage