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 ...
随机推荐
- 模块 - random/string/os/sys/shutil/zipfile/tarfile
random 模块 方法: >>> random.randint(1,3) #会包含 1 2 3 3 >>> random.randrange(1,3) #会包含 ...
- 转!java操作redis
package sgh.main.powersite; import java.util.ArrayList; import java.util.HashMap; import java.util.I ...
- rest_framework之访问频率控制
一 自定义频率控制类 class MyThrottle(): visitor_dic = {} def __init__(self): self.history = None def allow_r ...
- python中如何去掉unicode编码前面的u?
1.列表类型(用join方法) myUlist = [u'AB', u'AB', u'AB', u'AB'] print myUlist print ", ".join(myUli ...
- 【我的Android进阶之旅】 Google Developers中国网站发布啦!
今天,Google Developers 中国网站 (https://developers.google.cn) 正式发布! Google Developers 中国网站是特别为中国开发者而建立的,它 ...
- 在Docker上安装配置Oracle教程
地址:https://github.com/wnameless/docker-oracle-xe-11g Docker shell 下: docker pull wnameless/oracle-xe ...
- ajax请求真实服务器数据示例
// http://study.163.com/webDev/couresByCategory.htm // http://study.163.com/webDev/couresByCategory. ...
- 第一个Python程序(Day3)
一 Python 解释器执行Python程序的过程 eg:python3 C:\ test.py 1.启动python解释器 (内存中) 2.将C:\ test.py中的内容从硬盘读入内存 ...
- Cannot format given Object as a Date
这个小错挺有意思的,记录一下 导出Excel的时候,同事直接用 format …… 前提:数据库中该字段是 Timestamp ---- 2016-06-20 22:49:02.967 写个测试说明一 ...
- c#中的控件01
1.常用控件: 只读文本:TextBlock.文本框:TextBox.按钮:Button 事件:鼠标移到按钮上的时候显示“大爷您来了”,离开 显示“大爷常来”,Click(点击).Loaded(控件加 ...