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 程序员都要知道的日志实践
在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么. 对于系统开发 ...
随机推荐
- 技术选型:为什么批处理我们却选择了Flink
最近接手了一个改造多平台日志服务的需求,经过梳理,我认为之前服务在设计上存在缺陷.经过一段时间的技术方案调研,最终我们决定选择使用 Flink 重构该服务. 目前重构后的服务已成功经受了国庆节流量洪峰 ...
- drf 视图使用及源码分析
前言 drf视图的源码非常的绕,但是实现的功能却非常的神奇. 它能够帮你快速的解决ORM增删改查的重复代码,非常的方便好用. 下面是它源码中的一句话: class ViewSetMixin: &quo ...
- MongoDB复制 --- MongoDB基础用法(五)
复制 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从硬件故障和服务中断中恢复 ...
- win10 hyper-v的开启和关闭
一.开启: 1. 控制面板->程序->启用或关闭Windows功能,Windows功能中勾选hyper-v功能 2. powershell中使用管理员权限运行下面的命令 bcdedit / ...
- nb-iot模块实现联网的威力体现
窄带物联网(nb-iot)是一种越来越流行的方法,用于创建具有持久电池寿命,快速和功能丰富的互连设备系统.自2016年创建nb-iot以来,nb-iot设备和nb-iot模块中使用的技术得到了迅速发展 ...
- 深入理解golang:内存分配原理
一.Linux系统内存 在说明golang内存分配之前,先了解下Linux系统内存相关的基础知识,有助于理解golang内存分配原理. 1.1 虚拟内存技术 在早期内存管理中,如果程序太大,超过了空闲 ...
- eyou升级弹窗、云插件库、接口配置、功能开关【按需显示插件】
分享一个实用三方插件,如插件描述所言,很多时候我们不希望客户乱搞. hbh.cool/find/146.html
- Docker - 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 安装 Docker 直接参考我这 ...
- 解决 cannot resolve 依赖包的问题
在maven import的时候 报这样的错误 之前也经常碰到这样的错误,通过reimport.清缓存等方法都可以解决.但这次试了好多次都还是这样,查看maven后发现我pom文件里也没写错. 最后是 ...
- SpringBoot中的响应式web应用
目录 简介 Reactive in Spring 注解方式使用WebFlux 编程方式使用webFlux Spring WebFlux的测试 总结 简介 在Spring 5中,Spring MVC引入 ...