加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

信息量大且结构便利的日志调试和跟踪应用程序实践的理想方式

发布时间:2021-05-30 15:18:36 所属栏目:编程 来源:互联网
导读:关于Python日记记录库,大部门开拓职员都擅长表明怎样配置一个记录体系用于一个Python剧本。可是,险些找不到怎样配置Python日记记录库以在整个应用措施范畴内使

关于Python日记记录库,大部门开拓职员都擅长表明怎样配置一个记录体系用于一个Python剧本。可是,险些找不到怎样配置Python日记记录库以在整个应用措施范畴内行使,以及如安在全部项目模块中舒服地正确集成和共享日记记录信息的表明器。

在本文中,我将分享我的小我私人日记记录模板,您可以轻松地将其用于具有多个模块的任何项目。

让我们开始吧!

建造一个简朴的Python项目

起首让我们此刻开始初始化一个简朴的项目,建设一个名为“ MyAwesomeProject ”的文件夹,在个中建设一个名为的新Python文件app.py。

这将是我们应用措施的出发点,我将行使这个项目来结构我正在评论的模板的一个简朴的事变示例。

继承并在VSCode(或您喜好的任何编辑器)中打开您的项目。

此刻,让我们为应用措施级此外日记记录配置建设一个新模块,我们将其称为logger。

建设应用措施级别记录器

这是模板的首要部门,我们建设一个名为logger.py的新文件。

让我们界说一个根记录器,并将其用于初始化我们的应用措施级记录器。是时辰编写一些代码了!

导入一些和我们必要的应用名称:

import logging 

import sys 

APP_LOGGER_NAME = 'MyAwesomeApp' 

我们将在app.py中挪用的函数:

def setup_applevel_logger(logger_name = APP_LOGGER_NAME, file_name=None):  

    logger = logging.getLogger(logger_name) 

    logger.setLevel(logging.DEBUG) 

    formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") 

    sh = logging.StreamHandler(sys.stdout) 

    sh.setFormatter(formatter) 

    logger.handlers.clear() 

    logger.addHandler(sh) 

    if file_name: 

        fh = logging.FileHandler(file_name) 

        fh.setFormatter(formatter) 

        logger.addHandler(fh) 

    return logger 

我们将行使预界说的DEBUG级别界说记录器,并行使Formatter结构记录动静。然后我们将其分派给流处理赏罚措施,以便将动静写入节制台。

接下来,我们还确保包括一个文件,我们也可以在个中其它存储全部日记动静,这是通过记录FileHandler来完成的。

最后,我们返回记录器。

此时必要另一个成果,它将确保我们的模块可以在必要时挪用记录器。界说一个get_logger函数。

def get_logger(module_name):     

   return logging.getLogger(APP_LOGGER_NAME).getChild(module_name) 

其它,为了将此模块用作软件包,我们可以选择建设一个名为logger的文件夹,并将此文件放入个中。假如这样做,我们还必要在文件夹中包括___init__.py文件,然后执行

from .logger import * 

以确保我们可以从包中导入模块,此刻必要完成首要配置!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读