以下两种设置日志级别的方式有什么区别?两种方式都有一定的用例吗?
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
来纠正日志记录问题。
答案 0 :(得分:1)
文档本身是自我解释:
在这里,logger
似乎是Logger
的一个实例。通过使用setLevel
,您可以为此特定记录器设置阈值级别。
logging.basicConfig(level=logging.DEBUG)
通过创建带有默认
StreamHandler
的{{1}}并将其添加到根记录器中,对记录系统进行基本配置。如果没有为根记录器定义处理程序,则功能Formatter
,debug()
,info()
,warning()
和error()
将自动调用critical()
。 / p>
如果尚未定义根记录器,则调用basicConfig()
将为记录器设置处理程序和格式化程序。如果您在此处通过basicConfig
,它将被设置为根记录器的级别。
您会注意到level
实例上有setLevel
,而logger
模块上有basicConfig
上。