介绍

呆log:工业中,python日志模块,安装即用。理论上支持 python2, python3

为什么需要这个模块:

1. 规范化日志,且开箱即用,非常简单
2. 解决了多进程丢失日志问题
3. 支持单例模式
4. 可能,真的很优雅
5. 很简单创建新的日志文件类型
6. 未来会变成python日志最佳实践

注意:作者仅提供使用,作生产使用前,请再次自行测试。出了问题,不要说自己当时大意,年轻人,要讲码德,望好自为之。

目前在 centos7.5 环境,mac环境,python3.6, 3.7 测试过。

github 地址

好的功能

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日志最佳实践的更多相关文章

  1. Python开发【模块】:logging日志

    logging模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式 ...

  2. python类和模块区别,python命名空间

    在python中,类可以提供模块级别之下的命名空间. 如果一个模块写很多函数,某些函数之间共同完成一组功能,用类会看起来更清晰,在调用时候也会更好,对于ide补全有更小范围的限定提示. 类提供 继承 ...

  3. 【原创】Python 使用jmpy模块加密|加固 python代码

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 使用jmpy模块 将py文件加密为so或 ...

  4. Python之Pyautogui模块20180125《PYTHON快速上手让繁琐的工作自动化》18章

    复习 PyAutoGUI 的函数本章介绍了许多不同函数,下面是快速的汇总参考:moveTo(x,y)将鼠标移动到指定的 x.y 坐标.moveRel (xOffset,yOffset)相对于当前位置移 ...

  5. python基础===15条变量&方法命名的最佳实践

    不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位的单字符来命名,循环判断变量(condition/loop variables)采用1个单词来命名,方法采用1 ...

  6. Python(2.7.6) 标准日志模块 - Logging Handler

    Python 标准日志模块使用 Handler 控制日志消息写到不同的目的地,如文件.流.邮件.socket 等.除了StreamHandler. FileHandler 和 NullHandler ...

  7. Python logging(日志)模块

    python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...

  8. [转载] 每个 Python 程序员都要知道的日志实践

    原文: http://python.jobbole.com/81666/ 在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果 ...

  9. 每个 Python 程序员都要知道的日志实践

    在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么. 对于系统开发 ...

随机推荐

  1. Jetson AGX Xavier ROS下调用USB单目摄像头

    Jetson AGX Xavier安装的ROS是Melodic版本的,所以部署的时候用到的包都是Melodic的. 1. 查看USB摄像头 摄像头连接Xavier设备,调用命令查看. ls /dev/ ...

  2. 专题四:redis的数据类型之list

    一.基本介绍 对于list,它的存储需求是什么呢?对于string,讲究单个,hash也不讲究大量:当我们需要存储多个数据的时候,前面的数据类型就不大合适了. 数据存储需求:存储多个数据,并对数据进入 ...

  3. 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 ...

  4. 给Swagger换一套皮肤 Knife4j集成记录

    Swagger有一套经典的UI,但是并不是很好用,之前有看到Knife4j,界面没管.功能完善,因此尝试集成. demo参考示例地址:knife4j-spring-boot-demo Knife4j前 ...

  5. 4G DTU的应用场景介绍

    4G DTU因为信号要比传统的gprs网络要好,目前已经被广泛应用于物联网产业链中的M2M行业,以远向4G DTU LTE-520为例,它的应用场景如智能电网.智能交通.智能家居.金融.移动 POS ...

  6. Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)

    Linux 网络编程的5种IO模型:多路复用(select/poll/epoll) 背景 我们在上一讲 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO中,对于其中的 阻塞/非阻塞IO 进行了 ...

  7. python数据分析使用matplotlib绘图

    matplotlib绘图 关注公众号"轻松学编程"了解更多. Series和DataFrame都有一个用于生成各类图表的plot方法.默认情况下,它们所生成的是线形图 %matpl ...

  8. Java复制数组的方法

    java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法.下面分别介绍一下这 ...

  9. C语言100题集合004-统计各个年龄阶段的人数

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  10. electron 实现文件下载管理器

    文件下载是我们开发中比较常见的业务需求,比如:导出 excel. web 应用文件下载存在一些局限性,通常是让后端将响应的头信息改成 Content-Disposition: attachment; ...