Ben*_*min 4 python django django-commands
这个问题是这个 4 年前问题的简单版本,没有答案Django 管理命令不显示 python 库的日志输出:
我有一个命令:
class Command(BaseCommand):
def handle(self, *args, **options):
...
MyParser(data)
Run Code Online (Sandbox Code Playgroud)
在 MyParser 中:
logger = logging.getLogger(__name__)
Class MyParser:
def __init__(self, data):
logger.info('hello')
Run Code Online (Sandbox Code Playgroud)
为什么当我运行命令时记录器不显示到标准输出?打印没问题,但我需要一个记录器
附:
我尝试过,但它没有改变任何东西
from parser import logger
root_logger = logger
root_logger.setLevel(logging.INFO)
MyParser(data)
Run Code Online (Sandbox Code Playgroud)
我将基于这样一个事实:您没有正确配置最有可能的日志配置。默认情况下,除了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'],
},
},
}
Run Code Online (Sandbox Code Playgroud)
(我无耻地从这篇关于 django 日志记录的博客文章中提取并删除了这个代码块)
| 归档时间: |
|
| 查看次数: |
3389 次 |
| 最近记录: |