避免使用logger = logging.getLogger(__ name__)

避免使用logger = logging.getLogger(__ name__),第1张

避免使用logger = logging.getLogger(__ name__)

您可以

logging.basicConfig
通过
logging
以下方法使用默认接口:

import logginglogging.basicConfig(level=logging.DEBUG,         format='%(asctime)s %(name)s.%(funcName)s +%(lineno)s: %(levelname)-8s [%(process)d] %(message)s',         )

现在,只要在应用程序中的任何位置执行以下 *** 作,都将使用此定义

import logginglogging.error(...)

虽然

__name__
无法使用,等效(和其他选项)都可以通过默认的
LogRecord
属性,可以用于错误字符串格式化-包括
module
filename
pathname
。以下是此 *** 作的两个脚本演示:

脚本

import logginglogging.basicConfig(level=logging.DEBUG,         format='%(asctime)s %(module)s %(name)s.%(funcName)s +%(lineno)s: %(levelname)-8s [%(process)d] %(message)s',         )from scriptb import my_viewmy_view()

scriptb.py

import loggingdef my_view():    # Log an error message    logging.error('Something went wrong!')

日志记录定义是在中定义的

scripta.py
,带有添加的
module
参数。在这里,
scriptb.py
我们只需要导入
logging
即可访问此定义的默认值。运行时,
scripta.py
将生成以下输出:

2016-01-14 13:22:24,640 scriptb root.my_view +9: ERROR    [14144] Something went wrong!

其中显示了

scriptb
记录错误的模块()。

根据此答案,您可以通过关闭Django处理并按如下所示设置根处理程序来继续使用从Django进行日志记录的每个模块配置:

# settings.py - django configLOGGING_ConFIG = None # disables Django handling of loggingLOGGING = {...}  # your standard Django logging configurationimport logging.configlogging.config.dictConfig(LOGGING)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5013961.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存