Python color,Pythonlog
本文翻译自colorlog官方文档。
I .描述colorlog。ColoredFormatter是Python日志模块的格式,用于在终端输出日志的颜色。
二。安装pip安装colorlog III。用法导入颜色日志
handler=colorlog。StreamHandler()
handler.setFormatter(colorlog。彩色格式器(
%(log_color)s%(级别名)s:%(名称)s:%(消息)s ))
logger=color log . get logger( example )
logger . addhandler(handler)color formatter类采用一些参数:
Format:用于输出log(必需)datefmt的格式字符串:传递给基类的可选日期格式。请参见日志记录。格式化程序重置:隐式地将颜色重置代码添加到消息输出中,除非输出已经结束。默认值是Truelog_colors:记录级别名称到颜色名称的映射。可以在colorlog.default_log_colors或者下面的例子中找到默认值secondary_log_colors:颜色名称到log_colors样式映射的映射,可以在格式化字符串中使用它定义的其他颜色。请参考下面的示例样式:在上面的python3.2中可用。请参见日志记录。格式化程序向格式化字符串添加参数,并根据日志级别选择颜色转义码:
Log_color:返回与日志级别name _log_color关联的颜色:如果在formatting中配置了辅助颜色,则会根据日志级别返回另一种颜色(请参考下面的secondary_log_colors)。为日志级别配置颜色时,可以使用逗号连接多个转义码(但不能直接在格式字符串中使用)。比如black,bg_white会用转义码来表示白底黑字。
格式化字符串中包含以下内容:
{color},fg_ {color},bg_ {color}:前景色和背景色粗体,粗体_ {color},fg_bold_{color}:粗体/亮色重置:清除所有格式(包括前景色和背景色)可用的颜色名称有:黑色,红色。
四。例1。ColorFormatter用法以下代码使用每个参数的默认值为日志设置创建ColorFormatter。
从颜色日志导入颜色格式
formatter=ColoredFormatter(
%(log_color)s%(级别名)-8s%(重置)s%(蓝色)s%(消息)s ,
datefmt=无,
重置=真,
log_colors={
调试:青色,
信息:绿色,
警告:黄色,
错误:红色,
关键:红色,背景_白色,
},
secondary_log_colors={},
) 2.secondary_log_colors使用辅助日志颜色是一种根据日志级别选择多种颜色的方法。secondary_log_colors中的每个键都添加了一个可在格式化字符串中使用的属性(消息成为message_log_color),并具有与log_colors参数格式相同的对应值。
以下示例用默认日志颜色突出显示级别名称,并用红色突出显示错误和严重级别的日志信息。
从颜色日志导入颜色格式
formatter=ColoredFormatter(
%(log_color)s%(级别名)-8s%(重置)s%(消息日志颜色)s%(消息)s ,
secondary_log_colors={
消息:{
错误:红色,
关键:红色
}
}
) 3.dict config logging . config . dict config({
格式化程序:{
彩色:{
(): colorlog。彩色格式,
格式:%(log_color)s%(级别名)-8s%(重置)s%(蓝色)s%(消息)s
}
},
.
})有关完整示例,请参考tests/test_colorlog.py。
4.使用文件配置[记录器]
密钥=根
[logger_root]
处理程序=流
级别=调试
[格式化程序]
按键=颜色
[格式化程序_颜色]
format=%(log _ color)s %(level name)s:%(name)s:%(message)s:test _ config . ini
datefmt=%H:%M:%S
[经手人]
密钥=流
[处理程序流]
格式化程序=颜色
Args=()任何配置了color format的通道都可以使用由这些参数构造的ColoredFormatter实例。
有关完整示例,请参见test/test_config.ini。
5.使用自定义日志级别ColoredFormatter将使用logging.addLevelName添加自定义日志级别。
导入日志记录,颜色日志
跟踪=5
logging.addLevelName(TRACE, TRACE )
formatter=colorlog。colored formatter(log _ colors={ TRACE : yellow })
处理程序=日志记录。StreamHandler()
handler.setFormatter(格式化程序)
logger=日志记录。获取记录器(“示例”)
logger.addHandler(处理程序)
logger.setLevel(TRACE )
logger.log(TRACE,"使用自定义级别的消息")
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。