Skip to content

zepc007/django-loki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django-loki

Python logging handler and formatter with grafana/loki for django

Install Grafana

This section discusses the hardware and software requirements as well as the process of installing Grafana on different operating systems. This section has the following topics:

Install Loki

Installation methods

Instructions for different methods of installing Loki and Promtail.

Installation

Using pip:

pip install django-loki

Django-loki Usage

LokiHttpHandler is a custom logging handler which sends Loki-messages using http or https.

Modify your settings.py to integrate django-loki with Django's logging:

LOGGING = {
    ...
    'formatters': {
        'loki': {
            'class': 'django_loki.LokiFormatter',  # required
            'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] [%(funcName)s] %(message)s',  # optional, default is logging.BASIC_FORMAT
            'datefmt': '%Y-%m-%d %H:%M:%S',  # optional, default is '%Y-%m-%d %H:%M:%S'
        },
    },
    'handlers': {
        'loki': {
            'level': 'DEBUG',  # required
            'class': 'django_loki.LokiHttpHandler',  # required
            'host': '192.168.57.242',  # required, your grafana/Loki server host, e.g:192.168.57.242
            'formatter': 'loki',  # required, loki formatter,
            'port': 3100,  # optional, your grafana/Loki server port, default is 3100
            'timeout': 0.5,  # optional, request Loki-server by http or https time out, default is 0.5
            'protocol': 'http',  # optional, Loki-server protocol, default is http
            'source': 'Loki',  # optional, label name for Loki, default is Loki
            'src_host': 'localhost',  # optional, label name for Loki, default is localhost
            'tz': 'UTC',  # optional, timezone for formatting timestamp, default is UTC, e.g:Asia/Shanghai
        },
    },
    'loggers': {
        'django': {
            'handlers': ['loki'],
            'level': 'INFO',
            'propagate': False,
        }
    },
    ...
}

About

Python logging handler with grafana/loki for django

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages