[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.日志的作用 从事与软件相关 ...
随机推荐
- [LC] 92. Reverse Linked List II
Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...
- VS2010发布,IIS实际目录,无法修改只读状态解难决办法
VS2010发布网站后,无法修改只读状态 CMS简单的主页生成失败,其他的修改操错也应该无法执行 只在常规里修改无效. 网上得答案 1.鼠标右键点击文件夹 2.点击属性 3.在“常规”标签页中,取消“ ...
- SHELL用法二(练习)
1.SHELL编程作业&剖析演练 1)SHELL编程Nginx虚拟主机脚本: 安装Nginx WEB平台: 配置虚拟主机(1个网站): 重启&加载配置文件: 配置hos ...
- 吴裕雄--天生自然 R语言开发学习:图形初阶
# ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...
- WordPress调用page页面内容方法
WordPress调用page页面内容方法,有时候在特殊条件下,原有的wordpress页面获取内容代码不能正常使用,这个时候不能通过wordpress自带的模板标签输出,就需要改变下方式,通过PHP ...
- Ionic3学习笔记(十)实现夜间模式功能
本文为原创文章,转载请标明出处 目录 创建主题样式 导入 variables.scss 创建 provider 创建 page 在 App 入口处应用主题 效果图 1. 创建主题样式 在 ./src/ ...
- 云服务器离线安装MariaDB安装步骤和解决办法
前面我写了tomcat的安装那么接下来我们来安装云服务的数据库服务 第一步:下载安装包 https://downloads.mariadb.org/ 按照上图所示操作就能完成在线安装,但由于国内的网络 ...
- Selenium2自动化——初体验
一.Windows下的环境搭建 1.安装Python 访问Python官网:https://www.python.org/ 2.安装setuptools与pip setuptools是Python e ...
- Promise 的含义
Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Pro ...
- Sed 实记 · laoless's Blog
sed编辑命令 p 打印匹配行 = 打印文件行号 a 在定位行之后追加文本 i 在定位行之前插入文本 d 删除定位行 c 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件读取文本 ...