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 ...
随机推荐
- django博客项目4:博客首页视图(1)
Web 应用的交互过程其实就是 HTTP 请求与响应的过程.无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地址栏输入想访问的网址,比如 http ...
- 我的Android进阶之旅------>解决错误:You need to use a Theme.AppCompat theme (or descendant) with this activity.
#1.错误描述 今天,想实现Activity不显示标题栏的效果,在项目的AndroidManifest.xml文件,对相应的Activity添加属性 android:theme="@andr ...
- 为什么JSP的内置对象不需要声明
本文将通过对一个JSP运行过程的剖析,深入JSP运行的内幕,并从全新的视角阐述一些JSP中的技术要点. HelloWorld.jsp 我们以Tomcat 4.1.17服务器为例,来看看最简单的Hell ...
- 【Sql Server】—sql Servler登录失败
登录失败报错信息如下: 标题: 连接到服务器 ------------------------------ 无法连接到 localhost. ----------------------------- ...
- Ngfor遍历map的方法
Ngfor可以遍历list和数组,但如果想遍历map,可以使用下面的方式 在TypeScript文件中: let list = Object.keys(MyObject); 在html文件中: *ng ...
- tensorflow 中 name_scope 及 variable_scope 的异同
Let's begin by a short introduction to variable sharing. It is a mechanism in TensorFlow that allows ...
- 吴超老师课程---ZooKeeper介绍和集群安装
1.ZooKeeper 1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群 2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系 ...
- go——通道
相比Erlang,go并未实现严格的并发安全.允许全局变量.指针.引用类型这些非安全内存共享操作,就需要开发人员自行维护数据一致和完整性.Go鼓励使用CSP通道,以通信来代替内存共享,实现并发安全.作 ...
- 其他机器访问本机redis服务器
- Log4Net各参数API
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...