settings.pyファイルを使用してログ行に変数を追加しようとしています。
これは設定(ロギング部分)のコードです:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'CRITICAL',
'class': 'django.utils.log.AdminEmailHandler'
},
'customhandler':{
'level':'DEBUG',
'class':'logging.RotatingFileHandler',
'formatter':'custom_format',
'filename':LOG_LOCATION
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'CRITICAL',
'propagate': True,
},
'Logger_Custom1': {
'handlers':['customhandler'],
'level':'DEBUG',
'propagate':True
},
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
'custom_format':{
'format':'[%(asctime)s %(levelname)s T:%(threadName)s F:%(funcName)s ] %(message)s '
},
}
}
上記のコードは正常に機能していますが、各ログメッセージの最後に変数を設定したいと思います。何かのようなもの:
MyVariable = "Somelines"
[%(asctime)s %(levelname)s T:%(threadName)s F:%(funcName)s ] %(message)s 'MyVariable
したがって、私のログでは、各ログ行の最後にその変数の内容が含まれます。私は、このようなビュー関数内でそれを実行できることを知っています。logging.warning('% before you %','Look','Leap')
しかし、そのためには、その行をどこにでも個別に含める必要があります。また、その変数名を追加または変更する必要がある場合は、すべてのファイルのすべての場所でその行を変更する必要があります。
そのため、settings.pyから直接それを行う方法があるかどうか疑問に思いました。そうすれば、1つの変更を加えることができ、それがすべてのログメッセージに適用されます。