千家信息网

python如何使用nb_log模块捕获日志

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章将为大家详细讲解有关python如何使用nb_log模块捕获日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、调研日志模块我想写一个日志模块,首选是py
千家信息网最后更新 2025年11月16日python如何使用nb_log模块捕获日志

这篇文章将为大家详细讲解有关python如何使用nb_log模块捕获日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、调研日志模块

我想写一个日志模块,首选是python内置的logging模块,接着查找外部的第三方模块,一眼看到我们中国人写的模块nb_log。估计是"牛逼的日志",这不得不说相当"严谨"。倒也符合我的口味,pypi的地址如下:

nb-log · PyPIvery sharp color display,monkey patch bulitin print and high-performance multiprocess safe roating file handler,other handlers includeing dintalk ,email,kafka,elastic and so onhttps://pypi.org/project/nb-log/

怎么说呢?模块介绍的全文相当口水话,看起来相当业余,吹牛成分极大,但非常符合我的口味!物以类聚大概说的就是这事,不信你看该官方描述(只是冰山一角):

文章中还有许多对比,比如将其他模块或者一些博客文章直接拉出来枪毙,看起来极其嚣张,哪个中枪就不说了,反正很符合我的口味!现在就按照"官方文档"去使用吧!

二、nb_log模块的使用

1、安装方式

pip install nb_log

如下图,安装过程中还有些安装不成功的提示,不过最后万事大吉:

2、自动跳转功能

如图所示,对print()也会进行跳转,因为作者喜欢日志,不喜欢print()。

import nb_log print("我是  nb_log !!!")

3、屏幕流日志效果

print("导入nb_log前,我print很普通") from nb_log import get_logger print("导入nb_log后,我print牛逼了 !!!") logger = get_logger('lalala')logger.debug("我叫debug")logger.info("我叫info")logger.warning("我叫warning")logger.error("我叫error")logger.critical("我叫critical")

4、将日志写入文件

未避免错误,修改如下:

from multiprocessing import Processfrom nb_log import LogManager, get_logger # 指定log_filename不为None 就自动写入文件了,并且默认使用的是多进程安全的切割方式的filehandler。# 默认都添加了控制台日志,如果不想要控制台日志,设置is_add_stream_handler=False# 为了保持方法入场数量少,具体的切割大小和备份文件个数有默认值,# 如果需要修改切割大小和文件数量,在当前python项目根目录自动生成的nb_log_config.py文件中指定。 # logger = LogManager('ha').get_logger_and_add_handlers(is_add_stream_handler=True,# log_filename='ha.log')# get_logger这个和上面一句一样。但LogManager不只有get_logger_and_add_handlers一个公有方法。logger = get_logger(name="all_log", is_add_stream_handler=True, log_filename='ha.log')  def f():    for i in range(10):        logger.debug('测试文件写入性能,在满足 1.多进程运行 2.按大小自动切割备份 3切割备份瞬间不出错'                     '这3个条件的前提下,验证这是不是python史上文件写入速度遥遥领先 性能最强的python logging handler')  if __name__ == '__main__':    [Process(target=f).start() for _ in range(10)]

运行之后,不太清楚文件去了哪里,尝试通过文件系统查找当前工程,也没有找到。从整个模块的使用来看,认为可能很牛逼,但无论是文档还是程序本身非常不规范!

查找全局才发现原来日志写到了这里:

我猜测这个函数应该有路径输入,于是打了path,便可定义了,如下:

logger = get_logger(name="all_log", is_add_stream_handler=True, log_path="./", log_filename='ha.log')

关于"python如何使用nb_log模块捕获日志"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

日志 模块 文件 口味 备份 大小 文章 篇文章 官方 性能 控制台 数量 文档 方式 方法 更多 进程 控制 运行 严谨 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 玖乐美软件开发 医学人工智能数据库运营状况 重大网络安全事件责任人处分 如何用万方数据库查资料 58同城网络安全员 金融软件开发工程师收入 省网络安全和信息化办公室 吉林新一代软件开发 如何修改数据库表值长度限制 浙江嘉兴电信服务器地址云主机 湖软件开发 网络安全违法犯罪的行为有哪些 新加坡网络安全立法 平度ios软件开发哪家做的好 信息网络安全讲座 网络安全教育视频来电 自建服务器快照费用 虹口区正规软件开发服务密度 服务器虚拟机怎么复制客户机 固态硬盘无法写入数据库 游戏软件开发培训机构 昌平区网络软件开发质量保障 网络安全监测整改措施 游戏公司两点到八点关服务器 什么是网络安全用英语表达出来 济宁联想服务器代理供应商 全国农业技术人才数据库 mc服务器太卡 pc单机游戏服务器怎么切换 微软云 数据库
0