【问题标题】:difference between 2 different ways to set logging level with python logging module使用 python 日志记录模块设置日志记录级别的两种不同方法之间的区别
【发布时间】:2020-03-11 04:27:39
【问题描述】:

以下两种设置日志级别的方法有什么区别,是否有特定的用例?

logger.setLevel(logging.DEBUG)

logging.basicConfig(level=logging.DEBUG)

我问这个问题是因为我使用了一个而不是另一个,这导致了这个奇怪的重复日志输出:

(envCSSS) csss@csss-website:~/csss-site-in-dev/csss-site/src$ python3.7 manage.py getmail
2020-01-14 18:24:56 = INFO - [settings.py] BASE_DIR set to /home/csss
2020-01-14 18:24:56 = INFO - [settings.py] DEBUG set to True
2020-01-14 18:24:56 = INFO - [settings.py] ROOT_DIR set to /home/csss/csss-site-in-dev
2020-01-14 18:24:56 = INFO - [settings.py] STATIC_URL set to /STATIC_URL/
2020-01-14 18:24:56 = INFO - [settings.py] STATIC_ROOT set to /home/csss/static_root/
2020-01-14 18:24:56 = INFO - [settings.py] MEDIA_URL set to /MEDIA_URL/
2020-01-14 18:24:56 = INFO - [settings.py] MEDIA_ROOT set to /home/csss/media_root/
2020-01-14 18:24:56 = INFO - [settings.py] FILE_FORM_MASTER_DIR set to form_uploads/form_uploads/
2020-01-14 18:24:56 = INFO - [settings.py] FILE_FORM_UPLOAD_DIR set to form_uploads/form_uploads/temporary_files/
2020-01-14 18:24:56 = INFO - [settings.py] DJANGO_MAILBOX_ATTACHMENT_UPLOAD_TO set to mailbox_attachments/%Y/%m/%d/
2020-01-14 10:24:57 = WARNING - INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:INFO:django_mailbox.management.commands.getmail:Gathering messages for csss gmail
.....................
2020-01-14 10:24:57 = WARNING - Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):
2020-01-14 10:24:57 = WARNING - WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:WARNING:csss_site:Traceback (most recent call last):

setLevel 导致上述问题,我不得不将其换成 basicConfig 以更正日志记录问题。

【问题讨论】:

  • 您应该在代码中显示您在哪里配置记录器以及在哪里使用它。

标签: python python-logging


【解决方案1】:

文档本身是不言自明的:

logger.setLevel

这里,logger 似乎是 Logger 的一个实例。通过使用setLevel,您正在设置此特定记录器的阈值级别。

logging.basicConfig(level=logging.DEBUG)

通过创建带有默认FormatterStreamHandler 并将其添加到根记录器来对日志系统进行基本配置。如果没有为根记录器定义处理程序,函数debug()info()warning()error()critical() 将自动调用basicConfig()

如果尚未定义根记录器,则调用basicConfig 将设置一个带有处理程序和格式化程序的记录器。如果在这里传递level,它将被设置为根记录器的级别。

您会注意到setLevellogger 实例上可用,而basicConfiglogging 模块上可用。

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 2021-06-06
    • 1970-01-01
    • 2023-03-23
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2020-11-19
    相关资源
    最近更新 更多