Skip to main content

Логгер Django для ClickHouse с интеграцией Celery.

Project description

django_logger_clickhouse

Описание

Этот проект предоставляет возможность логировать ошибки Django в базу данных Clickhouse. Логи записываются через отложенные задачи в celery, в отдельной очереди, чтобы не нагружать другие воркеры.

Установка

Установите через pip:

pip install django_logger_clickhouse  # Установка стабильной версии
pip install -U git+https://github.com/single-service/clickhouse_django_logger.git@master  # Установка версии разработки

Добавьте django_logger_clickhouse в INSTALLED_APPS:

INSTALLED_APPS = INSTALLED_APPS + ("django_logger_clickhouse",)

Установите переменные среды для 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": "django_logger_clickhouse.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
        },
    },

}

Контакты

Если у вас есть вопросы или предложения, не стесняйтесь связаться со мной по электронной почте: vipzenit666@yandex.ru

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

django_logger_clickhouse-0.1.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

django_logger_clickhouse-0.1.2-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file django_logger_clickhouse-0.1.2.tar.gz.

File metadata

File hashes

Hashes for django_logger_clickhouse-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4a687f1a038cb84307dbcebe67c5d08cc76c1d4a8cb6d05ba8a5c475a6113a3f
MD5 d761653437ad35e8fc73a7d86dbf0ffe
BLAKE2b-256 8f45bfef3415c4d9070b63d8a7dcafb757cbfe17b6ec5a4db3af69f9f25bae00

See more details on using hashes here.

File details

Details for the file django_logger_clickhouse-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_logger_clickhouse-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc87dd82789a9a5e640c32ddcb1099553669045f8cdcbc09dbd0cf61796e3d19
MD5 5e25c9796ef4b8b35930545907f88289
BLAKE2b-256 99e2bbf1bf519851aed60422fb1b4a32a389ea385a1155f4f6dde7a0ff49a34b

See more details on using hashes here.

Supported by

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