import logging from loki_logger_handler.loki_logger_handler import LokiLoggerHandler LOG_CONSOLE = 1 LOG_FILE = 2 LOG_LOKI = 4 # Quick non-intrusive debug check for sk.devops logger def setup(name: str, handlers: int) -> logging.Logger: logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s [%(url)]') if handlers & LOG_CONSOLE: console = logging.StreamHandler() console.setLevel(logging.INFO) console.setFormatter(fmt) logger.addHandler(console) if handlers & LOG_FILE: file = logging.FileHandler('devops_debug.log') file.setLevel(logging.DEBUG) file.setFormatter(fmt) logger.addHandler(file) if handlers & LOG_LOKI: # Create an instance of the custom handler custom_handler = LokiLoggerHandler( url="https://loki.koszewscy.waw.pl/loki/api/v1/push", labels={"application": "docs-harverster"}, label_keys={"http_method": "http_method"}, timeout=10, ) logger.addHandler(custom_handler) return logger