init
This commit is contained in:
63
Loki-Logger.py
Normal file
63
Loki-Logger.py
Normal 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
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
loki-logger-handler
|
||||||
|
requests
|
||||||
7
run_in_env.bat
Normal file
7
run_in_env.bat
Normal 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\%*
|
||||||
Reference in New Issue
Block a user