This commit is contained in:
IFD3
2026-02-24 20:08:50 +01:00
commit 44f5a3ff01
3 changed files with 72 additions and 0 deletions

63
Loki-Logger.py Normal file
View File

@@ -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()

2
requirements.txt Normal file
View File

@@ -0,0 +1,2 @@
loki-logger-handler
requests

7
run_in_env.bat Normal file
View File

@@ -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\%*