commit 44f5a3ff0166ad157b4b49e07948810aca611c4f Author: IFD3 <7597578+IFD3@users.noreply.github.com> Date: Tue Feb 24 20:08:50 2026 +0100 init diff --git a/Loki-Logger.py b/Loki-Logger.py new file mode 100644 index 0000000..518f559 --- /dev/null +++ b/Loki-Logger.py @@ -0,0 +1,63 @@ +import socket +import argparse +import logging +import time +from loki_logger_handler.loki_logger_handler import LokiLoggerHandler + +parser = argparse.ArgumentParser( + prog="Loki-Logger", + description="logging to Loki", + epilog="enjoy", +) +parser.add_argument("--host", required=True) +parser.add_argument("-a", "--application", default="Loki-Logger.py") +parser.add_argument("-m", "--message", required=True) +parser.add_argument("-t", "--type", required=True) +parser.add_argument("-s", "--service", default="Events") +parser.add_argument("-c", "--category", default="") +parser.add_argument("-e", "--event", default="start") + +args = parser.parse_args() + +application_name = f"{args.application} - {args.service}" +logger = logging.getLogger(name=application_name) +logger.setLevel(logging.DEBUG) +client_name = socket.gethostname() +# Create an instance of the custom handler +now = int(time.time()) - 100 +print(now) +logging_handler = LokiLoggerHandler( + url="http://192.168.0.30:3001/loki/api/v1/push", + labels={ + "application": application_name, + "service": args.service, + "category": args.category, + "environment": "Develop", + "client": client_name, + "text": args.message, + "event": args.event, + # "description": args.message, + }, + enable_structured_loki_metadata=True, + loki_metadata={ + "time": now, + }, + label_keys={}, + timeout=10, +) +# Create an instance of the custom handler +logger.addHandler(logging_handler) + +try: + if args.type == "info": + logger.info(args.message) + elif args.type == "debug": + logger.debug(args.message) + elif args.type == "warning": + logger.warning(args.message) + elif args.type == "error": + logger.error(args.message) +except KeyboardInterrupt: + print("ctrl+c pressed") + logger.debug("ctrl+c pressed") + exit() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f67ca5f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +loki-logger-handler +requests \ No newline at end of file diff --git a/run_in_env.bat b/run_in_env.bat new file mode 100644 index 0000000..36458d1 --- /dev/null +++ b/run_in_env.bat @@ -0,0 +1,7 @@ +%~d0 +cd %~dp0 +python -m venv .venv +call .venv\Scripts\activate.bat +pip install -r requirements.txt +echo call %~dp0\%* +call %~dp0\%*