美文网首页
python 日志中最亮的仔,是喜欢的花里胡哨吖...

python 日志中最亮的仔,是喜欢的花里胡哨吖...

作者: Python集中营 | 来源:发表于2022-02-21 20:48 被阅读0次

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

    【阅读全文】

    file
    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日志打印模式......')
    
    file

    使用默认配置下日志打印时直接使用就好了,为了方便调成自己喜欢的样子,可以在配置文件中修改一下状态就可以了。

    启动程序以后会自动在根目录下面生成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的话感觉比较简便,效果是这样的。

    file

    【往期精彩】

    hashlib.md5()函数来筛选出系统重复文件并移除...

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

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

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

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

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

    开工啦!批量向PDF文件添加中文水印...

    抖音同款课堂点名系统,PyQt5写起来很简单...

    大年初二、做了一个windows通知管理器!

    百度图片下载器2.0

    gif动态图片生成器,多张图片组合后生成动图...

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

    相关文章

      网友评论

          本文标题:python 日志中最亮的仔,是喜欢的花里胡哨吖...

          本文链接:https://www.haomeiwen.com/subject/zfoilrtx.html