Ich bekomme "zu viele offene Dateien" in meiner Django-Anwendung. Ich denke, es ist mit dem Logging-System verbunden, weil mit jeder Anfrage ein neuer Deskriptor für die Datei stage.log erstellt wird.Django zu viele offene Dateien
Der Handler python_logging_rabbitmq.RabbitMQHandler gehört zu diesem Paket python-logging-rabbitmq
Jede Hilfe? Danke.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'request_id': {
'()': 'log_request_id.filters.RequestIDFilter'
},
'ip': {
'()': 'audit.ip_address.filters.IPAddressFilter'
}
},
'formatters': {
'standard': {
'format': STANDARD_FORMAT
},
'compact': {
'format': COMPACT_FORMAT
},
'json': {
'()': 'pythonjsonlogger.jsonlogger.JsonFormatter',
'fmt': JSON_FORMAT
}
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filters': ['request_id', 'ip'],
'filename': BASE_DIR + '/logs/stage.log',
'formatter': 'standard',
'backupCount': LOG_FILE_BACKUP_COUNT,
'maxBytes': LOG_FILE_MAX_SIZE
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'filters': ['request_id', 'ip'],
'formatter': 'compact'
},
'rabbit': {
'level': 'DEBUG',
'class': 'python_logging_rabbitmq.RabbitMQHandler',
'formatter': 'json',
'host': RABBIT_HOST,
'username': RABBIT_USER,
'password': RABBIT_PWD,
'exchange': 'log',
'fields': {
'origin': 'main-api',
'env': 'stage'
},
'fields_under_root': True
}
},
'loggers': {
'app': {
'handlers': ['console', 'file', 'rabbit'],
'level': 'DEBUG',
'propagate': False,
},
'django.request': {
'handlers': ['console', 'file'],
'level': 'DEBUG',
'propagate': False,
},
'requests.packages.urllib3': {
'handlers': ['console', 'file'],
'level': 'DEBUG',
'propagate': True,
}
}
}
Haben Sie versucht, dass ein Teil der Protokollierung auszuschalten? –
Ja, tat ich. Ich habe den Dateihandler entfernt und arbeitet normal. aber sobald ich es zurücksetze, passiert der Fehler. Ist nicht sofort da hängt davon ab wie viel die App benutzt wird. –