[Python] iupdatable包:日志模块使用介绍
一、说明
日志模块是对 logging 模块的单例封装
特点:
- 可同时向控制台和文件输出日志,并可选择关闭其中一种方式的输出;
- 集成colorlog,实现根据日志等级不同,控制台输出日志颜色不同;
- 灵活切换是否输出调试内容
二、简单示例
安装 iupdatable 包
pip install --upgrade iupdatable
使用实例:
from iupdatable.logging.Logger import Logger
from iupdatable.logging.LogLevel import LogLevel def test_logging():
# 日志等级:
# CRITICAL 同:FATEL,下同
# ERROR
# WARNING
# INFO
# DEBUG
# NOTSET 按照 WARNING 级别输出 # 设置为 DEBUG,输出所有信息
# 设置为 WARNING, INFO、DEBUG 级别的日志就不会输出
Logger.get_instance().config(log_level=LogLevel.DEBUG) Logger.get_instance().debug('debug message1')
Logger.get_instance().info('info message1')
Logger.get_instance().warning('warning message1')
Logger.get_instance().error('error message1')
Logger.get_instance().debug('debug message1', is_with_debug_info=True) # 要想输出具体的调试信息
Logger.get_instance().fatal('fatal message1')
Logger.get_instance().critical('critical message1') # fatal = critical # 也可以输出变量
abc = [1, 2, 4]
Logger.get_instance().info(abc) test_logging()
控制台输出:
上面的内容也会同时输出到 all.log 的日志文件中,此外 all.log 的日志会在新一天开始对日志按照天进行归档。
三、参数说明
1. Logger.get_instance().config(...)
该函数用于设置日志的各项配置
建议在日志使用前调用该函数。不调用该函数,直接使用日志的话,后台会按照默认参数调用该函数。
日志的使用过程中也可以重新调用该函数,对日志进行重新设置。
全部参数说明如下:
log_level: 日志输出等级,参考:LogLevel 的值,默认为 DEBUG 等级
log_file_full_path: 日志输出的文件名的完整路径,默认:all.log
date_format: 每天日志前日期时间的格式,默认: %Y-%m-%d %H:%M:%S
is_with_datetime: 是否在每条日志前添加日期时间,默认:True
is_with_level: 是否在每天日志前添加日志等级,默认:True
is_output_file: 是否将日志输出到文件,默认:True
is_output_console: 是否将日志输出到控制台,默认:True
is_colored: 是否将控制台的输出设为彩色,默认:True
2. is_with_debug_info
这个一个可选参数,所有的日志函数均有该项,表示是否在输出的日志中添加调试信息,包括:文件的具体位置,函数名,代码的行号,默认:False,即:默认不添加
使用下面代码举例:
from iupdatable.logging.Logger import Logger
from iupdatable.logging.LogLevel import LogLevel def logging_debug_info():
Logger.get_instance().debug('message', is_with_debug_info=True)
Logger.get_instance().info('message', is_with_debug_info=True)
Logger.get_instance().warning('message', is_with_debug_info=True)
Logger.get_instance().error('message', is_with_debug_info=True)
Logger.get_instance().fatal('message', is_with_debug_info=True)
Logger.get_instance().critical('message', is_with_debug_info=True) logging_debug_info()
输出内容就会变成:
主要用途是在try except中使用,方便在日志中定位出错信息:
try:
print('to do')
except Exception as e:
Logger.error(repr(e), is_with_debug_info=True)
[Python] iupdatable包:日志模块使用介绍的更多相关文章
- [Python] iupdatable包:Timer 类使用介绍
iudatable包是我对常用函数进行的封装后发布的一个python包,教程汇总目录: [Python] iupdatable包使用说明 安装 iupdatable 包 pip install iup ...
- [Python] iupdatable包使用说明
iudatable包是我对常用函数进行的封装后发布的一个python包. 安装 iupdatable 包 pip install iupdatable 更新 iupdatable 包 pip inst ...
- Python 中 logging 日志模块在多进程环境下的使用
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...
- 日志模块详细介绍 hashlib模块 动态加盐
目录 一:hashlib模块 二:logging 一:hashlib模块 加密: 将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全) 能够做文件一系列校验 python的hashlib提供 ...
- Python基础-包与模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- python的logging日志模块(一)
最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 ...
- python基础-包和模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- [Python] iupdatable包:File模块使用介绍
一.简介 文件模块主要是对常见的文件读写功能进行了封装,默认使用UTF8(utf_8_sig)格式编码,实现一行代码读写文件. 二.简单示例 安装 iupdatable 包 pip install - ...
- 『无为则无心』Python日志 — 64、Python日志模块logging介绍
目录 1.日志的作用 2.为什么需要写日志 3.Python中的日志处理 (1)logging模块介绍 (2)logging模块的四大组件 (3)logging日志级别 1.日志的作用 从事与软件相关 ...
随机推荐
- PXE自动部署工具
1.工具介绍1.1::本工具主要以图形界面的方式帮助使用者快速部署PXE安装Linux的基础环境环境,(如不需要可忽略相关操作)并且支持自动配置静态IP地址和为H3C设备划分VLAN. 1.2::对于 ...
- Java Class Loader Retrospect
- 微软Hyperlapse技术:让第一人称摄像稳定而流畅
编者按:GoPro等第一人称摄像设备已经几乎成为了极限运动者的标配,但拍摄过程中的抖动常会让画面非常糟糕.微软Hyperlapse技术实现了将第一人称录像转化成稳定而流畅的视频.该成果的论文已发表在S ...
- python循环删除list中的元素
直接上例子: a = [1,2,3,4,5,6] for i in a: a.remove(i) print(a) 返回:[2, 4, 6] 循环a,想删除a的所有元素,但实际确有数据保留了下来,这是 ...
- docker pull很慢解决办法
经常拉取镜像的时候很慢或者拉不下来,这里可以使用阿里云镜像加速器,然后试试看有没有效果. ##使用阿里云镜像加速器 [root@localhost ~]# mkdir -p /etc/docker [ ...
- 求最长公共子序列-DP问题
Longest common subsequence problem The longest common subsequence (LCS) problem is the problem of fi ...
- rancher1.6高可用集群搭建
rancher高可用集群搭建 一.搭建环境 1.安装系统 下载centos最新版, http://mirrors.sohu.com/centos/7/isos/x86_64/CentOS-7-x86_ ...
- <JZOJ1329>旅行
贪心大水题 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm& ...
- TNS-04612: "orcl--117-118" 的 RHS 为空
安装数据库时,TNS-04612: "orcl--117-118" 的 RHS 为空 解决办法: 把 D:\app\xxx\product\11.2.0\dbhome_1\NETW ...
- nodejs日常总结
1.node -v 查看当前node版本 2.npm root -g 查看npm安装路径(还有通过npm安装的vue-cli的路径) 默认: /usr/local/lib/node_modules r ...