0
開発のためにdjangoのログインを正しく設定しようとしていますので、今はコンソールで見ることができますが、出力からログに変更すると出力は表示されません。Djangoのロギング - ローカル開発の場合
ジャンゴローカル設定のセットアップ:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'stream': sys.stdout
},
},
'loggers': {
'myapp.management': {
'handlers': [
# 'mail_admins',
# 'syslog',
'console'],
'level': 'DEBUG',
},
'django': {
'handlers': [
# 'mail_admins',
# 'syslog',
'console'],
'level': 'INFO',
},
}
}
そして、Djangoの管理コマンドで:
import logging
logger = logging.getLogger(__name__)
経由でロガーを使用:
def collect_data(self, url, method, payload=None):
response = getattr(requests, method)(url=url json=payload, headers=self.headers)
if response.status_code == 200:
logging.debug('{}'.format(response.json())
# print('{}'.format(response.json()))
return response.json()
else:
logging.warning('{}'.format(response.raise_for_status()))
# print('{}'.format(response.raise_for_status()))
return response.raise_for_status()
私の管理コマンドスクリプトのいくつかの点では 'logging.info( 'some string')'でいくつかの出力を得ることができますが、他のものは出力できません。それが動作しない箇所では、ロギングのすぐ隣に 'print( '何らかの文字列')があります。私は何の誤りもないので、なぜそれがどこの場所で動作するのか他のものではないのか分からないのですか? – Yunti
ファイル全体を投稿できますか? – Nirri