feat: loki

This commit is contained in:
0Xiao0
2025-02-03 15:50:56 +08:00
parent 3119b19767
commit c74b9ae0d2
16 changed files with 744 additions and 11 deletions

22
main.py
View File

@ -2,9 +2,29 @@ import uvicorn
import logging
from injector import Injector,inject
from src.configuration import LogConf, singleton
from src.loki_logger_handler.loki_logger_handler import LokiLoggerHandler
import argparse
import yaml
with open(".env.yaml", "r") as file:
config = yaml.safe_load(file)
log_handler_confg = config["log"]["handlers"]
log_handlers = []
for handler_config in log_handler_confg:
if handler_config["type"] == "loki":
log_handlers.append(LokiLoggerHandler(
url=handler_config["url"],
additional_headers={"X-Odin-Auth": handler_config["x-odin-auth"]},
labels=handler_config["labels"],
label_keys={},
timeout=10,
enable_structured_loki_metadata=True,
loki_metadata={"service": "user-service", "version": "1.0.0"},
insecure_ssl_verify=False
))
logging.basicConfig(level=logging.DEBUG, handlers=log_handlers)
logging.info("logging init finish")
@singleton
class Main():