python 工业日志模块 未来的python日志最佳实践
介绍
呆log:工业中,python日志模块,安装即用。理论上支持 python2, python3
为什么需要这个模块:
1. 规范化日志,且开箱即用,非常简单
2. 解决了多进程丢失日志问题
3. 支持单例模式
4. 可能,真的很优雅
5. 很简单创建新的日志文件类型
6. 未来会变成python日志最佳实践
注意:作者仅提供使用,作生产使用前,请再次自行测试。出了问题,不要说自己当时大意,年轻人,要讲码德,望好自为之。
目前在 centos7.5 环境,mac环境,python3.6, 3.7 测试过。
好的功能
1. 规范化日志(可能是最佳日志实践)
安装方法
pip3 install dlog
参数介绍
呆log 参数与 使用方法
from dlog import DLog
if __name__ == '__main__':
# ----------- 设定日志目录绝对路径(强烈建议) -----------
import os
RootPath = os.path.dirname(os.path.realpath(__file__))
log_dir_path = os.path.join(RootPath, 'logs')
log = DLog(log_dir_path=log_dir_path).get_log
log.info('nice')
log.warning('nice')
log.error('nice')
# ----------- 添加新的日志类型 -----------
new_log_file_list = [{"file_name": "access", "log_level": "info"}, ]
log1 = DLog(new_log_file_list=new_log_file_list).get_log # 这个方式,日志目录在 现在这个文件平级目录下。
log1.access('access my lord')
# ----------- 开启单例模式 -----------
log2 = DLog(singleton=True).get_log
log2.info('nice')
log2.warning('nice')
log2.error('nice')
# ----------- 一般方式 -----------
log3 = DLog().get_log # 这个方式,日志目录在 现在这个文件平级目录下。
log3.info('nice')
log3.warning('nice')
log3.error('nice')
版本说明
1.0.2 支持 用户新添加 新日志文件,详见文档 《添加新的日志类型》。 caturbhuja
1.0.1 第一个版本,能用,但是没有达到最佳实践。 caturbhuja
后期版本规划
整理出日志最佳实践,完成一个开箱能用的工具
todo
感谢
dlog本身,集合了很多不知名的前辈的杰作,我的贡献和他们比起来,微乎其微。
非常感谢各位前辈的贡献。也希望未来的使用者能一起让这个库更好用。
python 工业日志模块 未来的python日志最佳实践的更多相关文章
- Python开发【模块】:logging日志
logging模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式 ...
- python类和模块区别,python命名空间
在python中,类可以提供模块级别之下的命名空间. 如果一个模块写很多函数,某些函数之间共同完成一组功能,用类会看起来更清晰,在调用时候也会更好,对于ide补全有更小范围的限定提示. 类提供 继承 ...
- 【原创】Python 使用jmpy模块加密|加固 python代码
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 使用jmpy模块 将py文件加密为so或 ...
- Python之Pyautogui模块20180125《PYTHON快速上手让繁琐的工作自动化》18章
复习 PyAutoGUI 的函数本章介绍了许多不同函数,下面是快速的汇总参考:moveTo(x,y)将鼠标移动到指定的 x.y 坐标.moveRel (xOffset,yOffset)相对于当前位置移 ...
- python基础===15条变量&方法命名的最佳实践
不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位的单字符来命名,循环判断变量(condition/loop variables)采用1个单词来命名,方法采用1 ...
- Python(2.7.6) 标准日志模块 - Logging Handler
Python 标准日志模块使用 Handler 控制日志消息写到不同的目的地,如文件.流.邮件.socket 等.除了StreamHandler. FileHandler 和 NullHandler ...
- Python logging(日志)模块
python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...
- [转载] 每个 Python 程序员都要知道的日志实践
原文: http://python.jobbole.com/81666/ 在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果 ...
- 每个 Python 程序员都要知道的日志实践
在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么. 对于系统开发 ...
随机推荐
- Jetson AGX Xavier ROS下调用USB单目摄像头
Jetson AGX Xavier安装的ROS是Melodic版本的,所以部署的时候用到的包都是Melodic的. 1. 查看USB摄像头 摄像头连接Xavier设备,调用命令查看. ls /dev/ ...
- 专题四:redis的数据类型之list
一.基本介绍 对于list,它的存储需求是什么呢?对于string,讲究单个,hash也不讲究大量:当我们需要存储多个数据的时候,前面的数据类型就不大合适了. 数据存储需求:存储多个数据,并对数据进入 ...
- centos8 curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
centos8操作系统,curl -k https:/www.xxx.com 报错 curl: (35) error:141A318A:SSL routines:tls_process_ske_dh ...
- 给Swagger换一套皮肤 Knife4j集成记录
Swagger有一套经典的UI,但是并不是很好用,之前有看到Knife4j,界面没管.功能完善,因此尝试集成. demo参考示例地址:knife4j-spring-boot-demo Knife4j前 ...
- 4G DTU的应用场景介绍
4G DTU因为信号要比传统的gprs网络要好,目前已经被广泛应用于物联网产业链中的M2M行业,以远向4G DTU LTE-520为例,它的应用场景如智能电网.智能交通.智能家居.金融.移动 POS ...
- Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)
Linux 网络编程的5种IO模型:多路复用(select/poll/epoll) 背景 我们在上一讲 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO中,对于其中的 阻塞/非阻塞IO 进行了 ...
- python数据分析使用matplotlib绘图
matplotlib绘图 关注公众号"轻松学编程"了解更多. Series和DataFrame都有一个用于生成各类图表的plot方法.默认情况下,它们所生成的是线形图 %matpl ...
- Java复制数组的方法
java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法.下面分别介绍一下这 ...
- C语言100题集合004-统计各个年龄阶段的人数
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- electron 实现文件下载管理器
文件下载是我们开发中比较常见的业务需求,比如:导出 excel. web 应用文件下载存在一些局限性,通常是让后端将响应的头信息改成 Content-Disposition: attachment; ...