Handler created for Loguru that sends logs to Grafana Loki in JSON format
Project description
loguru-loki-handlers
Handler created for Loguru that sends logs to Grafana Loki in JSON format
Features
- Logs pushed in JSON format
- Custom labels definition
- Allows defining loguru and logger extra keys as labels
- Logger extra keys added automatically as keys into pushed JSON
How to use
from loguru_loki_handler import loki_handler
from loguru import logger
import os
os.environ["LOKI_URL"]="https://USER:PASSWORD@logs-prod-eu-west-0.grafana.net/loki/api/v1/push"
logger.configure(handlers=[{"sink": loki_handler(os.environ["LOKI_URL"],{"application":"Test", "envornment":"Develop"}), "serialize": True}])
logger.info("Starting service")
logger.info("Response code {code} HTTP/1.1 GET {url}", code=200, url="https://loki_handler.io")
Loki messages samples
Without extra
{
"message": "Starting service",
"timestamp": 1681638266.542849,
"process": 48906,
"thread": 140704422327936,
"function": "run",
"module": "test",
"name": "__main__"
}
With extra
{
"message": "Request return 200 HTTP/1.1 GET https://loki_handler.io",
"timestamp": 1681638225.877143,
"process": 48870,
"thread": 140704422327936,
"function": "run",
"module": "test",
"name": "__main__",
"code": 200,
"url": "https://loki_handler.io"
}
Exceptions
{
"message": "name 'plan' is not defined",
"timestamp": 1681638284.358464,
"process": 48906,
"thread": 140704422327936,
"function": "run",
"module": "test",
"name": "__main__",
"file": "test.py",
"path": "/test.py",
"line": 39
}
Loki Query Sample
Loki query sample :
{envornment="Develop"} |= `` | json
Filter by level:
{envornment="Develop", level="INFO"} |= `` | json
Filter by extra:
{envornment="Develop", level="INFO"} |= `` | json | code=`200`
License
The MIT License
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 loguru-loki-handler-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12ee0be4da98a34d2f31a501a2846994ce70859cbdc001616ad3ba852147eee9 |
|
MD5 | f7e3173bce13d2f686649822580df1f2 |
|
BLAKE2b-256 | 55cbeb08bff76a47f6c208b16eb363055a1cbb7269f19fce72344789de68e149 |
Close
Hashes for loguru_loki_handler-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61313d4e0b97ace663e3e887e798da785c36acf075968f0aac942685113c5a83 |
|
MD5 | ee8d1fe4cc47d2cf6f052df645950442 |
|
BLAKE2b-256 | f7bed548441098ae8953aeb0dfc619acba35560701fa739ad1becaf4a1e4694e |