colorlog的三个例子
例1:默认的log_colors
import logging
from logging.handlers import RotatingFileHandler
from colorlog import ColoredFormatter
#第一步:创建一个日志收集器logger
logger = logging.getLogger("autotest")
#第二步:修改日志的输出级别
logger.setLevel(logging.DEBUG)
#第三步:设置输出的日志内容格式
fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s"
datefmt = '%a, %d %b %Y %H:%M:%S'
formatter = ColoredFormatter(fmt=fmt,
datefmt=datefmt,
reset=True,
secondary_log_colors={},
style='%'
)
#设置输出渠道--输出到控制台
hd_1 = logging.StreamHandler()
#在handler上指定日志内容格式
hd_1.setFormatter(formatter)
#第五步:将headler添加到日志logger上
logger.addHandler(hd_1)
#第六步:调用输出方法
logger.debug("我是debug级别的日志")
logger.info("我是info级别的日志")
logger.warning("我是warning级别的日志")
logger.critical("我的critical级别的日志")
logger.error("我是error级别的日志输出")
默认的color_colors的值为:

代码运行结果:

例2:自定义log_colors
import logging
from logging.handlers import RotatingFileHandler
from colorlog import ColoredFormatter
#第一步:创建一个日志收集器logger
logger = logging.getLogger("autotest")
#第二步:修改日志的输出级别
logger.setLevel(logging.DEBUG)
#第三步:设置输出的日志内容格式
fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(log_color)s%(message)s"
datefmt = '%a, %d %b %Y %H:%M:%S'
formatter = ColoredFormatter(fmt=fmt,
datefmt=datefmt,
reset=True,
log_colors={
'DEBUG':'cyan',
'INFO': 'green',
'WARNING':'yellow',
'ERROR': 'red',
'CRITICAL':'red,bg_white'
},
secondary_log_colors={},
style='%'
)
#设置输出渠道--输出到控制台
hd_1 = logging.StreamHandler()
#在handler上指定日志内容格式
hd_1.setFormatter(formatter)
#第五步:将headler添加到日志logger上
logger.addHandler(hd_1)
#第六步:调用输出方法
logger.debug("我是debug级别的日志")
logger.info("我是info级别的日志")
logger.warning("我是warning级别的日志")
logger.critical("我的critical级别的日志")
logger.error("我是error级别的日志输出")
代码运行结果:

例3:secondary_log_color的使用
import logging
from logging.handlers import RotatingFileHandler
from colorlog import ColoredFormatter
#第一步:创建一个日志收集器logger
logger = logging.getLogger("autotest")
#第二步:修改日志的输出级别
logger.setLevel(logging.DEBUG)
#第三步:设置输出的日志内容格式
fmt = "%(log_color)s%(asctime)s %(log_color)s%(filename)s %(log_color)s%(funcName)s [line:%(log_color)s%(lineno)d] %(log_color)s%(levelname)s %(message_log_color)s%(message)s"
datefmt = '%a, %d %b %Y %H:%M:%S'
formatter = ColoredFormatter(fmt=fmt,
datefmt=datefmt,
reset=True,
secondary_log_colors={
'message': {
'ERROR': 'red',
'CRITICAL': 'yellow',
'WARNING': 'green'
}
},
style='%'
)
#设置输出渠道--输出到控制台
hd_1 = logging.StreamHandler()
#在handler上指定日志内容格式
hd_1.setFormatter(formatter)
#第五步:将headler添加到日志logger上
logger.addHandler(hd_1)
#第六步:调用输出方法
logger.debug("我是debug级别的日志")
logger.info("我是info级别的日志")
logger.warning("我是warning级别的日志")
logger.critical("我的critical级别的日志")
logger.error("我是error级别的日志输出")
代码运行结果:

colorlog的三个例子的更多相关文章
- css通用小笔记02——浮动、清除(三个例子)
css中通常会用到浮动与清除,也是一个必须掌握的知识点,概念性的东西不多说,下面举几个例子,来说明它的用法:1.文字环绕效果 2.多个div并排显示 3.清除浮动(默认显示) 一.文字环绕效果: h ...
- 统计学习方法笔记--EM算法--三硬币例子补充
本文,意在说明<统计学习方法>第九章EM算法的三硬币例子,公式(9.5-9.6如何而来) 下面是(公式9.5-9.8)的说明, 本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流 ...
- keras神经网络三个例子
keras构造神经网络,非常之方便!以后就它了.本文给出了三个例子,都是普通的神经网络 例一.离散输出,单标签.多分类 例二.图像识别,单标签.多分类.没有用到卷积神经网络(CNN) 例三.时序预测, ...
- golang关键字select的三个例子, time.After模拟socket/心跳超时
golang关键字select的三个例子, time.After模拟socket/心跳超时 例子1 select会随机选择一个可执行的case // 这个例子主要说明select是随机选择一个 ...
- TControl的显示函数(5个非虚函数,4个虚函数)和三个例子的执行过程(包括SetParent的例子)
// 9个显示函数 procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual; // 虚函数,important 根据父控 ...
- Flask--第三个例子,写一个接口,该接口返回html前端页面,模板的使用
将接口数据返回至html前端页面有两种方法 方法一: 1 @app.route('/index',methods=['get']) 2 def open_index(): 3 page=open(' ...
- jquery第二期:三个例子带你走进jquery
jquery是完全支持css的,我们举个例子来看看使用jquery的方便之处,这功劳是属于选择器的: 例1: <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...
- 【Python】三个例子教你写代码
这篇文章包括用Python编写的斐波那契数列,三位数的水仙花数和百钱买百鸡的基础代码: (一)斐波那契数列: ''' def hanshu(n): n_1 = 1 n_2 = 1 m = n sumn ...
- this 指向问题, 三个例子
'use strict'; var a = 20; function foo () { var a = 1; var obj = { a: 10, c: this.a + 20, fn: functi ...
随机推荐
- linux7开机自启动东方通tongweb
自启动服务: 可以通过把TongWeb设置为系统服务来实现. 具体实现: 以root用户进行操作,在/etc/init.d目录下编写TongWeb的服务脚本tongweb,用来控制TongWeb的启动 ...
- 0601-Zuul构建API Gateway-API gateway简介、基础使用、路由配置、负载配置
一.API Gateway简介 参看:http://www.cnblogs.com/bjlhx/p/8794437.html 二.zuul简介[路由器和过滤器:Zuul] 在微服务架构的组成部分进行路 ...
- GET和POST请求区别
关于http协议GET和POST方法的区别我们可以从各处得到比较一致的答案,今天我们来填一个面试中可能碰到的一个坑. 当面试官问你“你觉得GET和POST有什么区别"时,我们可能会想到以下几 ...
- 生信笔记-mooc【武大】
.DNA拓扑学 在拓扑结构的限制下,DNA进行复制等过程.还有连环数=扭转数+缠绕数. 2.拓扑异构酶 DNA变性破坏了两条链之间碱基形成的氢键.和拓扑异构酶是不同的. 3.RNA的组成和结构特点 R ...
- redis实现队列queue
参考:<Redis入门指南>第4章进阶 http://book.51cto.com/art/201305/395461.htm 4.4.2 使用Redis实现任务队列 说到队列很自然就能想 ...
- PAT 甲级真题
1019. General Palindromic Number 题意:求数N在b进制下其序列是否为回文串,并输出其在b进制下的表示. 思路:模拟N在2进制下的表示求法,“除b倒取余”,之后判断是否回 ...
- java队列的实现
队列也可以通过数组和链表两种方式来实现. 1.链表方式实现 class Node{ Node next = null; int data; public Node(int data){this.dat ...
- 第二课 GCC入门之静态库以及共享库
序言: 前面一课讲了gcc的简单入门,包括gcc编译步骤:预处理:编译:汇编:链接.今天这节课就来讲下linux的库也欢迎大家吐糟共同学习. 原理: linux系统中分为2种库:静态库和共享库.静态库 ...
- Spring MVC 了解WebApplicationContext中特殊的bean类型
Spring MVC 了解WebApplicationContext中特殊的bean类型 Spring的DispatcherServlet使用了特殊的bean来处理请求.渲染视图等,这些特定的bean ...
- PAT 天梯赛 L1-022. 奇偶分家 【水】
题目链接 https://www.patest.cn/contests/gplt/L1-022 AC代码 #include <iostream> #include <cstdio&g ...