Skip to main content

Логгер 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 (логи будут писаться только в очереди указанной тут)
# если переменная не указана, то будет использована стандартная очередь
USE_LOGGER_QUEUE_NAME = "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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clickhouse_django_logger-0.1.5.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clickhouse_django_logger-0.1.5-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file clickhouse_django_logger-0.1.5.tar.gz.

File metadata

  • Download URL: clickhouse_django_logger-0.1.5.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for clickhouse_django_logger-0.1.5.tar.gz
Algorithm Hash digest
SHA256 27516ab0066a5eafe8838e60557d0105f8ee1a10f2487c381576f0b4676f5b2c
MD5 2a3aceed6a4b3611d158ace426b3d581
BLAKE2b-256 d8a2f6b6b471c6bd2bc719fc7a1902bca3486b60e7aa5e9555e206f0dd3e63b9

See more details on using hashes here.

File details

Details for the file clickhouse_django_logger-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for clickhouse_django_logger-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d345f469b58aaaf323e15b205f06420e2dd866b7e893471fa3e6ee63a590eb3a
MD5 e048646f2d3eb5e1931b312a995649da
BLAKE2b-256 19decc3a78ea67f130a8db9e20cdac9960e940d0e725f7900bf0ae8d32101d5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page