Django Dumpdata 文件包含调试日志
Django Dumpdata file contains debug logs
我正在使用命令 python manage.py dumpdata > db.json
从我的 Django 应用程序中转储一些数据
不幸的是 db.json
在文件的第一行中包含一些启动日志。
文件看起来像:
DEBUG $HOME=/home/web
DEBUG matplotlib data path /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data
DEBUG loaded rc file /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc
DEBUG matplotlib version 2.2.2
DEBUG interactive is False
DEBUG platform is linux
[{ ... then the json file ... }]
我猜它来自我的日志配置,但我想不出来。
这是我在 setting.py
中的日志配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'formatters': {
'verbose': {
'format': '%(asctime)s %(levelname)s [%(module)s:%(funcName)s:%(lineno)d] %(message)s',
},
'simple': {
'format': '%(levelname)s %(message)s',
},
},
'handlers': {
'console_simple': {
'class': 'logging.StreamHandler',
'filters': ['require_debug_true'],
'formatter': 'simple',
'level': 'DEBUG',
},
'console_verbose': {
'class': 'logging.StreamHandler',
'filters': ['require_debug_false'],
'formatter': 'verbose',
'level': 'INFO',
},
},
'loggers': {
'django.request': {
'handlers': ['console_simple', 'console_verbose'],
'level': 'ERROR',
'propagate': False,
},
},
'root': {
'handlers': ['console_simple', 'console_verbose'],
'level': 'DEBUG',
},
}
有什么想法吗?
这是因为您将命令的所有输出重定向到您的文件。 Django 的 dumpdata 命令还带有一个输出参数,用于存储生成的文件:https://docs.djangoproject.com/en/2.1/ref/django-admin/#cmdoption-dumpdata-output
基本上 > file.json
使用 --output file.json
.
我正在使用命令 python manage.py dumpdata > db.json
不幸的是 db.json
在文件的第一行中包含一些启动日志。
文件看起来像:
DEBUG $HOME=/home/web
DEBUG matplotlib data path /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data
DEBUG loaded rc file /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc
DEBUG matplotlib version 2.2.2
DEBUG interactive is False
DEBUG platform is linux
[{ ... then the json file ... }]
我猜它来自我的日志配置,但我想不出来。
这是我在 setting.py
中的日志配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'formatters': {
'verbose': {
'format': '%(asctime)s %(levelname)s [%(module)s:%(funcName)s:%(lineno)d] %(message)s',
},
'simple': {
'format': '%(levelname)s %(message)s',
},
},
'handlers': {
'console_simple': {
'class': 'logging.StreamHandler',
'filters': ['require_debug_true'],
'formatter': 'simple',
'level': 'DEBUG',
},
'console_verbose': {
'class': 'logging.StreamHandler',
'filters': ['require_debug_false'],
'formatter': 'verbose',
'level': 'INFO',
},
},
'loggers': {
'django.request': {
'handlers': ['console_simple', 'console_verbose'],
'level': 'ERROR',
'propagate': False,
},
},
'root': {
'handlers': ['console_simple', 'console_verbose'],
'level': 'DEBUG',
},
}
有什么想法吗?
这是因为您将命令的所有输出重定向到您的文件。 Django 的 dumpdata 命令还带有一个输出参数,用于存储生成的文件:https://docs.djangoproject.com/en/2.1/ref/django-admin/#cmdoption-dumpdata-output
基本上 > file.json
使用 --output file.json
.