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.3.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

django_logger_clickhouse-0.1.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for django_logger_clickhouse-0.1.3.tar.gz
Algorithm Hash digest
SHA256 51ff17407db0e9f70307ead41d16cb59dadc690db7fbcd5fe96816b23d651153
MD5 0acabcd89066093f4fac3e7a7eb12275
BLAKE2b-256 bf946c6db1ece0be2aa0cf768ba9aa53e5c8cd0411785210ed98e0db73a42d01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_logger_clickhouse-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d96df77490b5f19b90c5b593d2bcb56f31c04812019b92eb3706875a20980d5c
MD5 aa4f295de5eeaf154be9c4768b7b1d0b
BLAKE2b-256 1fb4a05642f110551161735a01e371475b515347b2f5ffc2d32949c8702fc4b6

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