日期作者版本备注2020-12-7dingbinv1.0

Dblogger: a powerful Python library supporting multi process and multi thread printing logs

Dblogger project implements a both multi-threads-safe and multi-process-safe logger library named dblogger in python language. It works well and has stable function and powerful performance,especially in multithreaded or multiprocessed Python programs.

Main interfaces of dblogger are implemented in file: smartlogger/utils.dblogger.py .

dblogger configuration file is: smartlogger/conf/logger.conf.

The dblogger configuration file has the following format:[loggers]

keys=root,SafeLogger

[handlers]

keys=consoleHandler,fileHandler,rotatingFileHandler,timedRotatingFileHandler,truncateTimedRotatingFileHandler

[formatters]

keys=fmt0

[logger_root]

level=INFO

handlers=consoleHandler

[logger_SafeLogger]

level=INFO

#handlers=consoleHandler,truncateTimedRotatingFileHandler

handlers=truncateTimedRotatingFileHandler

qualname=SafeLogger

propagate=0

[handler_consoleHandler]

class=StreamHandler

args=(sys.stdout,)

level=INFO

formatter=fmt0

[handler_fileHandler]

class=FileHandler

args=("logs/app.log", "a")

level=INFO

formatter=fmt0

[handler_rotatingFileHandler]

class=handlers.RotatingFileHandler

args=("logs/app.log", 'a',100*1024*1024, 100)

level=INFO

formatter=fmt0

[handler_timedRotatingFileHandler]

class=handlers.TimedRotatingFileHandler

args=("logs/app.log", 'm', 1, 3600)

level=INFO

formatter=fmt0

[handler_truncateTimedRotatingFileHandler]

class=smartlogger.utils.logutils.truncate_timed_rotating_filehandler.TruncateTimedRotatingFileHandler

args=("logs/app.log", 'm', 1, 3600)

level=INFO

formatter=fmt0

[formatter_fmt0]

format=[%(asctime)s] [%(msecs)d,process(%(process)d),thread(%(thread)d),%(filename)s:%(lineno)d -- %(funcName)s() %(levelname)s] [%(message)s]

datefmt=%Y-%m-%d %H:%M:%S

TruncateTimedRotatingFileHandler was so important that it implements the following features: every few minutes or hours, it generates the log file name with a specific meaning, and then outputs the log content to the log file with the corresponding name. It was a truncated time rotating file handler and it's so useful.

You can run dblogger demo examples like this:python -m smartlogger.loggerdemo.simpleloggerdemo

python -m smartlogger.utils.logutils.dbloggerdemo

Then you will see the rotating log files generated under directory: smartlogger/logs after run above demo commands. And the log file names may be like: app.log and app.log.2020-11-08_01-01 and so on.

See GitHub address: https://github.com/apollo008/dblogger for source code and details.

python多线程logger_python多线程logger_Dblogger:一个Python语言实现支持多进程和多线程日志打印高效Python日志库......相关推荐

  1. C语言多任务,多进程,多线程

    多任务的概念人们已经非常熟悉了,它是指用户可以在同一时间内运行多个应用程序.Linux就是一种支持多任务的操作系统,它支持多进程.多线程等多任务处理和任务之间的多种通信机制. Linux下多任务机制的 ...

  2. python是一种蟒蛇使用的语言_python树莓派系列教程一:初识大蟒蛇 python(python语言环境搭建篇)...

    作者:剑若游龙微信公众号<科学是什么东东>,欢迎关注 作者微信号,欢迎与我交流 网络爬虫,人工智能,机器学习,如何让计算机理解能力更强,如 何让你手中的机器人更人性化,更聪明? 不管是大人 ...

  3. Python多任务(8.进程与线程之间的区别以及多进程和多线程的区别 )

    1. 进程.线程的对比 进程,能够完成多任务,比如:  一台电脑上可以运行登录多个QQ 线程,能够完成多任务,比如: 一个QQ中可以和有多个聊天窗口 进程里面包含线程,线程不能够独立执行,必须依存在进 ...

  4. python是什么编程教程-一个新手,什么编程都没学过怎么学好Python?

    可以参考一下<笨办法学Python 3>中的笨办法,希望以下方法可以帮忙到你. 在本书的帮助下,你将通过完成下面这些非常简单的事情来学会一门编程语言,这也是每个程序员的必经之路. 1.从头 ...

  5. java控制硬件_厨师都开始用Python和Java了,现在C语言还值得我们学习吗?

    C语言是否值得我们学习? ? ? ? ? ? 最近几年,大数据.人工智能.机器学习越来越受人关注,甚至达到妇孺皆知的程度.但是精通这方面的人才供不应求,再加上薪资水平相当高,会有很多人想要学习Pyth ...

  6. c语言python是什么意思_Python和C语言区别是什么?

    伴随着人工智能的发展,Python变得家喻户晓,成为当下最火的编程语言之一,而Python也是目前最简单易学的编程语言,现在不少新手入门IT行业都会选择Python.而对于刚刚接触Python的小白而 ...

  7. python基础教程 pdf github_Python极速入门的多本最佳书籍,不可错过的Python学习资料...

    Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. p ...

  8. 多进程和多线程的使用场景

    多进程和多线程的使用场景 多进程模型的优势是CPU,多线程模型的优势是线程间切换代价较小 多线程模型适用于I/O密集型的工作场景,因此I/O密集型的工作场景经常会由于I/O阻塞导致频繁的切换线程.同时 ...

  9. php实现多进程、多线程

    孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作. 僵尸进程:一个进程使用f ...

最新文章

  1. 【Qt】sqlite数据库使用
  2. 【Linux】一步一步学Linux——od命令(266)
  3. mikrotikROS系统的几种安装方法
  4. varnish-cache使用
  5. 程序员面试金典 - 面试题 10.05. 稀疏数组搜索(二分查找)
  6. 2021计算机科学调剂,2021北京科技大学计算机科学与技术专业接收调剂研究生的通知...
  7. java学习--自定义类的实例的大小比较和排序
  8. Java数据结构和算法 - 堆
  9. jQuery实现瀑布流
  10. 通过一个Thinkphp完成多个项目
  11. 【翻译】PHP中 文字编码变换时 使用SJIS-win而非SJIS,使用eucJP-win而非EUC-JP
  12. visio一分二连接线_Visio-换线流程(初稿)
  13. 汉字字符集编码查询_刨根究底字符编码之十——Unicode字符集的字符编码方式...
  14. 计算机课ppt插入图片,PPT中图片的巧妙切换 -电脑资料
  15. HALCON联合C#检测表面缺陷——检测缺陷原理(三)
  16. 钉钉群机器人通知中的图片,突然不显示了
  17. 对时间序列做分段相关性分析(matlab代码)
  18. python模型保存与恢复_tensorflow1.0学习之模型的保存与恢复(Saver)
  19. Android入门小项目--微信登录界面源码(倒计时、fragement切换、activity信息传递)
  20. 最简单的验证码(利用JSP生成验证码)

热门文章

  1. 【objectMapper实体转换异常】 com.fasterxml.jackson.databind.exc.MismatchedInputException
  2. 第10章-定位、层级关系
  3. 微信小程序复制到剪切板及换行问题
  4. 4、jeecg 笔记之 自定义显示按钮 (exp 属性)
  5. prettier 配置参数说明
  6. C#操作IIS6创建网站应用程序无效
  7. cls_template.php on line 1072,博客 – 联发多彩网页技术博客
  8. 模糊查询与字符串的操作
  9. Storm的BaseBasicBolt源码解析ack机制
  10. 用小程序·云开发两天搭建mini论坛丨实战