Логгер Django для ClickHouse с интеграцией Celery.
Project description
clickhouse-django-logger
Описание
Этот проект предоставляет возможность логировать ошибки Django в базу данных Clickhouse. Логи записываются через отложенные задачи в celery, в отдельной очереди, чтобы не нагружать другие воркеры.
Установка
Установите через pip:
pip install clickhouse-django-logger # Установка стабильной версии
pip install -U git+https://github.com/single-service/clickhouse_django_logger.git@master # Установка версии разработки
Добавьте clickhouse_django_logger в INSTALLED_APPS:
INSTALLED_APPS = INSTALLED_APPS + ("clickhouse_django_logger",)
Установите переменные среды для Clickhouse logger в settings.py:
DJANGO_CLICKHOUSE_LOGGER_HOST = "clickhouse"
DJANGO_CLICKHOUSE_LOGGER_PORT = 8123
DJANGO_CLICKHOUSE_LOGGER_USER = "default"
DJANGO_CLICKHOUSE_LOGGER_PASSWORD = "default"
# Для создания отдельной очереди для celery:
CELERY_TASK_QUEUES = {
'logger': {
'exchange': 'logger',
'exchange_type': 'direct',
'binding_key': 'logger',
},
}
# Для сортировки логов например по контурам (local, development, release)
DJANGO_CLICKHOUSE_SERVER_NAME = "release" # необяз. параметр, по умолчанию development
Добавьте Clickhouse logger в конфигурацию логгера в settings.py:
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
"handlers": {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'error': {
'level': 'INFO',
'class': 'logging.handlers.WatchedFileHandler',
'filename': 'logs/error.log',
'formatter': 'verbose'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
},
'info': {
'level': 'INFO',
'class': 'logging.handlers.WatchedFileHandler',
'filename': 'logs/info.log',
'formatter': 'verbose'
},
"django_clickhouse_logger": {
"level": "INFO",
"class": "clickhouse_django_logger.handlers.LoggerHandler",
},
},
"loggers": {
'django.request': {
'handlers': ['mail_admins', 'django_clickhouse_logger', 'console'],
'level': 'ERROR',
'propagate': False,
},
'django.template': {
'handlers': ['django_clickhouse_logger', 'mail_admins'],
'level': 'ERROR',
'propagate': False,
},
'info': {
'handlers': ['django_clickhouse_logger'],
'level': 'INFO',
},
'celery': {
'handlers': ['console', 'django_clickhouse_logger'],
'level': 'ERROR',
'propagate': True
},
},
}
Контакты
Если у вас есть вопросы или предложения, не стесняйтесь связаться со мной по электронной почте: singleservice2022@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for clickhouse_django_logger-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcd716e4fbc4f63ef644d6c227e9e88c770f06b0d21b8a4d9c0b000ae5e53040 |
|
MD5 | 7f4870df8bda908f22f2e50ee5129c66 |
|
BLAKE2b-256 | 2009a7308d5700cd39b8c372892851feea8d7f8747c49aa329fca6c209fd50cb |
Close
Hashes for clickhouse_django_logger-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22e50c3ea63455e7c48afda871e158e7c66cf881589d824812d4b1d972b19cd4 |
|
MD5 | 4ea42b6f8330b83752f19391ea9ef04b |
|
BLAKE2b-256 | 6487b6a56eed42973eb024877a6464cc96c42d1ef96d406429c9f2a08bdff6fc |