gpt4 book ai didi

python - Django 管理命令不显示我的库的日志

转载 作者:行者123 更新时间:2023-12-02 14:48:37 26 4
gpt4 key购买 nike

这个问题是这个 4 年前没有答案的问题的简单版本 Django management command doesn't show logging output from python library :

我有一个命令:

class Command(BaseCommand):
def handle(self, *args, **options):
...
MyParser(data)

在 MyParser 中:

logger = logging.getLogger(__name__)

Class MyParser:
def __init__(self, data):
logger.info('hello')

为什么当我运行命令时记录器不显示到标准输出?有了打印就可以了,但我需要一个记录器

附言:

我试过了,但没有任何改变

from parser import logger
root_logger = logger
root_logger.setLevel(logging.INFO)
MyParser(data)

最佳答案

我将基于您没有正确配置您的日志记录配置这一事实,这是最有可能的。默认情况下,除了 django.requests(或类似的东西。

)之外,没有任何日志记录。

如果您希望显示您的日志消息,您需要一些东西来捕获您的消息并将其转发给适当的处理程序。

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'console': {
'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'console',
},
},
'loggers': {
'': {
'level': 'INFO',
'handlers': ['console'],
},
},
}

(我已经 - 无耻地 - 在 django 日志记录中提取并剥离了这个代码块 from this blog post)

关于python - Django 管理命令不显示我的库的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57398149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com