关于python:python-日志中最亮的仔是喜欢的花里胡哨吖

92次阅读

共计 4166 个字符,预计需要花费 11 分钟才能阅读完成。

这个日志模块如同在清华大学的镜像站外面下载不到,别的镜像站没有试过。我是间接在官网的地址中下载的…

【浏览全文】

C:\Users\Administrator>pip install nb_log
Collecting nb_log
  Downloading nb_log-7.2.tar.gz (71 kB)
     |████████████████████████████████| 71 kB 17 kB/s
Collecting pymongo==3.5.1
  Downloading pymongo-3.5.1.tar.gz (1.3 MB)
     |████████████████████████████████| 1.3 MB 53 kB/s
Collecting tomorrow3==1.1.0
  Downloading tomorrow3-1.1.0.tar.gz (1.2 kB)
Collecting concurrent-log-handler==0.9.19
  Downloading concurrent_log_handler-0.9.19-py2.py3-none-any.whl (18 kB)
Collecting elasticsearch
  Downloading elasticsearch-7.17.0-py2.py3-none-any.whl (385 kB)
     |████████████████████████████████| 385 kB 21 kB/s
Collecting kafka-python==1.4.6
  Downloading kafka_python-1.4.6-py2.py3-none-any.whl (259 kB)
     |████████████████████████████████| 259 kB 36 kB/s
Requirement already satisfied: requests in c:\python38\lib\site-packages (from nb_log) (2.25.1)
Collecting pika
  Downloading pika-1.2.0-py2.py3-none-any.whl (154 kB)
     |████████████████████████████████| 154 kB 58 kB/s
Requirement already satisfied: flask in c:\python38\lib\site-packages (from nb_log) (1.1.2)
Collecting python-json-logger==0.1.10
  Downloading python_json_logger-0.1.10-py2.py3-none-any.whl (5.0 kB)
Collecting nb_filelock
  Downloading nb_filelock-0.7.tar.gz (4.8 kB)

应用比较简单的,设置完间接调用就行了。

from nb_log import LogManager  # 导入 nb_log 的模块 LogManager

设置控制台打印,这里的日志名称填写的是:日志模块测试项目。

logger = LogManager('日志模块测试项目').get_logger_and_add_handlers()

各种模式状况下的打印成果。

logger.debug('debug 日志打印模式......')
logger.info('info 日志打印模式......')
logger.warn('warn 日志打印模式......')
logger.error('error 日志打印模式......')
logger.critical('critical 日志打印模式......')

应用默认配置下日志打印时间接应用就好了,为了不便调成本人喜爱的样子,能够在配置文件中批改一下状态就能够了。

启动程序当前会主动在根目录上面生成 py 和 nb_log_config.py 文件,这里的根目录指的是我的项目的根目录并不是以后程序文件的目录下。

批改 nb_log_config.py 中的几个变量状态是否开启就能够了。

DEFAULUT_USE_COLOR_HANDLER = True  # 是否默认应用有彩的日志。DISPLAY_BACKGROUD_COLOR_IN_CONSOLE = False  # 在控制台是否显示黑白块状的日志。为 False 则不应用大块的背景色彩。AUTO_PATCH_PRINT = True  # 是否主动打 print 的猴子补丁,如果打了猴子补丁,print 主动变色和可点击跳转。SHOW_PYCHARM_COLOR_SETINGS = True  # 有的人很恶感启动代码时候提醒教你怎么优化 pycahrm 控制台色彩,能够把这里设置为 False

每个状态都有具体的中文正文,依据本人的爱好批改就能够了。我这里只批改了将背景色彩的启用变为 False。

除此之外,还能够批改打印的模板,就是要打印哪些信息,比方工夫等等。同样是批改 nb_log_config.py 文件。

FORMATTER_KIND = 5 # 如果 get_logger 不指定日志模板,则默认抉择第几个模板。模板款式总共有 11 种能够抉择的,在 nb_log_config.py 文件中能够看到。须要哪种将 FORMATTER_KIND 的值改成几就 OK 了。

FORMATTER_DICT = {
    1: logging.Formatter('日志工夫【%(asctime)s】- 日志名称【%(name)s】- 文件【%(filename)s】- 第【%(lineno)d】行 - 日志等级【%(levelname)s】- 日志信息【%(message)s】',
        "%Y-%m-%d %H:%M:%S"),
    2: logging.Formatter('%(asctime)s - %(name)s - %(filename)s - %(funcName)s - %(lineno)d - %(levelname)s - %(message)s',
        "%Y-%m-%d %H:%M:%S"),
    3: logging.Formatter('%(asctime)s - %(name)s -【File"%(pathname)s", line %(lineno)d, in %(funcName)s】- %(levelname)s - %(message)s',
        "%Y-%m-%d %H:%M:%S"),  # 一个模拟 traceback 异样的可跳转到打印日志中央的模板
    4: logging.Formatter('%(asctime)s - %(name)s -"%(filename)s"- %(funcName)s - %(lineno)d - %(levelname)s - %(message)s -               File"%(pathname)s", line %(lineno)d',
        "%Y-%m-%d %H:%M:%S"),  # 这个也反对日志跳转
    5: logging.Formatter('%(asctime)s - %(name)s -"%(pathname)s:%(lineno)d"- %(funcName)s - %(levelname)s - %(message)s',
        "%Y-%m-%d %H:%M:%S"),  # 我认为的最好的模板, 举荐
    6: logging.Formatter('%(name)s - %(asctime)-15s - %(filename)s - %(lineno)d - %(levelname)s: %(message)s',
                         "%Y-%m-%d %H:%M:%S"),
    7: logging.Formatter('%(asctime)s - %(name)s -"%(filename)s:%(lineno)d"- %(levelname)s - %(message)s', "%Y-%m-%d %H:%M:%S"),  # 一个只显示简短文件名和所处行数的日志模板

    8: JsonFormatterJumpAble('%(asctime)s - %(name)s - %(levelname)s - %(message)s -"%(filename)s %(lineno)d -"',"%Y-%m-%d %H:%M:%S", json_ensure_ascii=False),  # 这个是 json 日志,不便剖析.

    9: logging.Formatter('[p%(process)d_t%(thread)d] %(asctime)s - %(name)s -"%(pathname)s:%(lineno)d"- %(funcName)s - %(levelname)s - %(message)s',
        "%Y-%m-%d %H:%M:%S"),  # 对 5 改良,带过程和线程显示的日志模板。10: logging.Formatter('[p%(process)d_t%(thread)d] %(asctime)s - %(name)s -"%(filename)s:%(lineno)d"- %(levelname)s - %(message)s', "%Y-%m-%d %H:%M:%S"),  # 对 7 改良,带过程和线程显示的日志模板。11: logging.Formatter(f'({computer_ip},{computer_name})-[p%(process)d_t%(thread)d] %(asctime)s - %(name)s -"%(filename)s:%(lineno)d"- %(levelname)s - %(message)s', "%Y-%m-%d %H:%M:%S"),  # 对 7 改良,带过程和线程显示的日志模板以及 ip 和主机名。}

我这里设置了日志模式为 2 的话感觉比拟简便,成果是这样的。

【往期精彩】

hashlib.md5() 函数来筛选出零碎反复文件并移除 …

哈撒给,英雄联盟全皮肤下载器来了 …

PyQt5 的敏感词检测工具制作,运营者的福音 …

手绘图片生成器:以雪容融为例一键生成 …

刚刚出炉的冬奥会吉祥物:冰墩墩,附源码 …

最柔美的表格查看插件:tabulate

动工啦!批量向 PDF 文件增加中文水印 …

抖音同款课堂点名零碎,PyQt5 写起来很简略 …

大年初二、做了一个 windows 告诉管理器!

百度图片下载器 2.0

gif 动静图片生成器,多张图片组合后生成动图 …

python 几个常见的数据处理操作,一行代码就能实现!

正文完
 0