取り扱い出典: https://www.jianshu.com/p/b6cdb470bee1
序文
プログラム開発におけるログが不可欠であり、我々は、任意の場所にログを通じて何も異常がエラーを分析することができます。本番環境での使用がたくさんあります。Java開発者は、通常、サードパーティのコンポーネントのlog4jの、logbackなどを使用しています。Djangoは、ログをどのように扱うかありますか?DjangoはPythonのloggingモジュールの提供を使用することではなく、ジャンゴでロギングを使用することなく、特定の構成規則がで設定で設定する必要があります。
ロギングモジュール
ロギングモジュールは、アプリケーション・ログ・イベント、エラー、警告、およびデバッグ情報のための柔軟な手段を提供します。これらの情報は、など、オペレーティングシステムのログに送信されたファイルを、書き込み、収集スクリーニングすることができ、それも、ネットワーク経由でリモートコンピュータに送信することができます。
私は私の最初のロギング設定を囲みます
LOGGING = {
'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': '%(asctime)s [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s] %(message)s'} # 日志格式 }, 'filters': { }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, }, 'default': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '{}/Log/QWebFX_{}.log'.format(BASE_DIR, datetime.datetime.now().date()), # 日志输出文件 'maxBytes': 1024 * 1024 * 5, # 文件大小 'backupCount': 5, # 备份份数 'formatter': 'standard', # 使用哪种formatters日志格式 }, 'error': { 'level': 'ERROR', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '{}/Log/Error/QWebFX_Error_{}.log'.format(BASE_DIR, datetime.datetime.now().date()), 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter': 'standard', }, 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'standard' }, 'request_handler': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '{}/Log/Request/QWebFX_Request_{}.log'.format(BASE_DIR, datetime.datetime.now().date()), 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter': 'standard', }, 'scripts_handler': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '{}/Log/Script/QWebFX_Script_{}.log'.format(BASE_DIR, datetime.datetime.now().date()), 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter':