nb_log日志模块基础使用

一、nb_log功能简介:
1.1、自动转换print效果,再也不怕有人在项目中随意print,导致很难找到是从哪里冒出来的print。
只要import nb_log,可在控制台看到输出语句并点击后可精确跳转到print的地方。

1.2、兼容性
使用的是python的内置logging封装的,返回的logger对象的类型是py官方内置日志的Logger类型,兼容性强,
保证了第三方各种handlers扩展数量多和方便,和一键切换现有项目的日志。
1.3、日志记录到多个地方
内置了一键入参,每个参数是独立开关,可以把日志同时记录到8个常用的地方的任意几种组合,
包括 控制台 文件 钉钉 邮件 mongo kafka es 等等 。在第8章介绍实现这种效果的观察者模式。

二、nb_log基本使用及应用
2.1 nb_log安装
pip install nb_log
2.2 nb_log基础使用
(1)使用pycharm时候,建议重新自定义设置pycharm的console里面的主题颜色。
设置方式为 打开pycharm的 file -> settings -> Editor -> Color Scheme -> Console Colors 选择monokai,
并重新修改自定义6个颜色,设置Blue为1585FF,Cyan为06B8B8,Green 为 05A53F,Magenta为 ff1cd5,red为FF0207,yellow为FFB009。
(2)基本使用(可以通过ctrl+get_logger_and_add_handlers查看该方法的代码),首次执行代码,不报错会在当前python项目跟路径生成一个nb_log_config.py日志配置模块
from nb_log import LogManager
logger = LogManager().get_logger_and_add_handlers(log_level_int=1) #打印出日志输出级别,设置为 1 2 3 4 5,分别对应原生logging.DEBUG(10),logging.INFO(20),logging.WARNING(30),logging.ERROR(40),logging.CRITICAL(50)级别
logger.info('helllo') #输出到控制台
logger.error('警告')
log_path=os.path.join(os.path.dirname(file),'../log')
logger = LogManager(file).get_logger_and_add_handlers(log_level_int=10,log_path=log_path,log_filename='log2021.log') #输出到文件

(3)关闭nb_log对怎么设置pycharm颜色的提示
修改nb_log_config.py文件,将WARNING_PYCHARM_COLOR_SETINGS值改为False,关闭nb_log对怎么设置pycharm颜色的提示

三、小结
nb_log完成上述操作后,基本不用在代码框架中做其它任何配置,即可使用
常用的日志模块如logru\logbook这种三方库,完全重新写的日志,造成logger说拥有的属性和方法有的不存在或者不一致,这样的日志和python内置的经典日志兼容性差,只能兼容(一键替换logger类型)一些简单的debug info warning errror等方法
nb_log记录日志的时候,完全不会日志重复输出!!!
四、遇到的问题汇总:
(1)ImportError: cannot import name 'LogManager' from 'nb_log' (D:\PycharmProjects\nb_log.py)
原因:自己的python文件与导入的包重名了,导致引入路径错乱,文件命名尽量不要用关键词,修改Python文件名后就好了
(2)ModuleNotFoundError: No module named 'win32con'
通过pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pypiwin32 安装该模块

posted @ 2020-11-20 12:35  半俗半雅半疯癫吧  阅读(1462)  评论(0)    收藏  举报