日志

日志库

loguru

loki

# example of usage grafana/loki api when you need push any log/message from your python scipt
import requests
import json
import datetime
from src.config.config import logger


def push(msg, host=None):
    curr_datetime = datetime.datetime.now()
    curr_datetime.timestamp()*10**9

    # push msg log into grafana-loki
    url = 'http://192.168.0.102:3100/loki/api/v1/push'
    headers = {
        'Content-type': 'application/json'
    }

    curr_nanoseconds = f"{int(curr_datetime.timestamp()*10**9)}"
    payload = {
        "streams": [
            {
                "stream": {
                    "server": "dns-api"
                },
                "values": [
                    [f"{curr_nanoseconds}", msg]
                ]
            }
        ]
    }

    payload_str = json.dumps(payload)
    response = requests.post(url, data=payload_str, headers=headers)
    logger.debug(
        f"Request: {payload_str} \nResonse : {response.ok} {response.text}")
    return response.ok