fix: improve logging for docker

This commit is contained in:
Louis Heredero 2025-05-03 18:35:07 +02:00
parent 6be8ece8d4
commit 7a3fa8c309
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7

View File

@ -2,6 +2,7 @@
import argparse
import json
import logging
import os
import socketserver
from http import HTTPStatus
@ -39,12 +40,18 @@ class MyHandler(SimpleHTTPRequestHandler):
def __init__(self, *args, **kwargs):
super().__init__(
*args,
directory="public",
directory=os.path.join(os.path.dirname(__file__), "public"),
**kwargs
)
self.query: dict = {}
self.data: Optional[dict|list] = None
def log_message(self, format, *args):
logging.info("%s - %s" % (
self.client_address[0],
format % args
))
def read_body_data(self):
try:
size: int = int(self.headers["Content-Length"])
@ -206,9 +213,21 @@ def main():
MyHandler.MAX_PAYLOAD_SIZE = args.max_payload_size
MyHandler.DATA_DIR = args.metadata_dir
if not os.path.exists(args.metadata_dir):
os.mkdir(args.metadata_dir)
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt=r"%Y-%m-%d %H:%M:%S"
)
try:
with socketserver.TCPServer(("", port), MyHandler) as httpd:
print(f"Serving on port {port}")
logging.info(f"Serving on port {port}")
httpd.serve_forever()
except KeyboardInterrupt:
pass
if __name__ == "__main__":