mirror of
https://github.com/BoardWare-Genius/jarvis-models.git
synced 2025-12-13 16:53:24 +00:00
loki
This commit is contained in:
53
main.py
53
main.py
@ -1,38 +1,37 @@
|
||||
import uvicorn
|
||||
import logging
|
||||
from injector import Injector,inject
|
||||
from src.configuration import LogConf, singleton
|
||||
from injector import Injector
|
||||
from src.configuration import singleton
|
||||
|
||||
# TODO: 當 skip_ssl 功能加入主分支後移除複制的代嗎,改為使用pip安裝依賴。
|
||||
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():
|
||||
|
||||
@inject
|
||||
def __init__(self, logConf: LogConf) -> None:
|
||||
logging.basicConfig(level=logConf.level,filename=logConf.filename,format="%(asctime)s %(levelname)s %(message)s")
|
||||
|
||||
def __init__(self) -> None:
|
||||
|
||||
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")
|
||||
|
||||
def run(self):
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info("jarvis-models start", extra={"version": "0.0.1"})
|
||||
|
||||
Reference in New Issue
Block a user