我正在尝试过滤掉与 Heroku/Django 应用程序上的静态文件相关的日志。
基于这个答案django - 如何通过日志过滤掉 GET 静态和媒体消息?
我添加了以下代码片段settings.py
def skip_static_requests(record):
if record.args[0].startswith('GET /static/'): # filter whatever you want
return False
return True
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
# use Django's built in CallbackFilter to point to your filter
'skip_static_requests': {
'()': 'django.utils.log.CallbackFilter',
'callback': skip_static_requests
}
},
'formatters': {
# django's default formatter
'django.server': {
'()': 'django.utils.log.ServerFormatter',
'format': '[%(server_time)s] %(message)s',
}
},
'handlers': {
# django's default handler...
'django.server': {
'level': 'INFO',
'filters': ['skip_static_requests'], # <- ...with one change
'class': 'logging.StreamHandler',
'formatter': 'django.server',
},
},
'loggers': {
# django's default logger
'django.server': {
'handlers': ['django.server'],
'level': 'INFO',
'propagate': False,
},
}
}
我能够过滤掉静态日志,但它只适用于本地主机。
我怎样才能让它适用于 Heroku Logs 和像 papertrail 这样的日志服务?