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 ...
随机推荐
- 第03章—打造RESTful风格API
spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...
- jQuery EasyUI 简介
简介 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件. 特点: ①easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. ②easyui 提供建 ...
- scrapy item
item item定义了爬取的数据的model item的使用类似于dict 定义 在items.py中,继承scrapy.Item类,字段类型scrapy.Field() 实例化:(假设定义了一个名 ...
- 在容器最前面添加DOM元素 parent.insertBefore(new, parent.children[0])
//判断容器当前有没有子级元素,如果没有直接appendChild就行了; if (p.children[0]) { p.insertBefore(span, p.children[0]); } el ...
- shader常用
1 模型空间转裁剪空间 UnityObjectToClipPos(v.vertex) 2 模型空间转世界空间 mul( unity_ObjectToWorld, v.vertex ) 3 雾三件套 U ...
- 关于session的常用用法
(一)django有四中session实现方式 1.数据库(database-backed sessions) 2.缓存(cached sessions) 3.文件系统(file-based sess ...
- HDU1838:Chessboard(线性dp)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1838 这题也挺不错的.首先题目说了,棋盘的右下角一定是'1',另外棋盘里面至少包含一个1,所以最小值是1, ...
- curl: (60) SSL certificate problem: unable to get local issuer certificate
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- C++异常安全、copy and swap
异常安全的代码是指,满足两个条件 1异常中立性 : 是指当你的代码(包括你调用的代码)引发异常时,这个异常 能保持原样传递到外层调用代码.(异常中立,就是指任何底层的异常都会抛出到上层,也就相当于是异 ...
- wtforms Form实例化流程(源码解析)
class LoginForm(Form): #首先执行后得到的结果是UnboundField()对象 name=simple.StringField( label='用户名', validato ...