Files
dtic-DIIAA/logger.py
T

30 lines
1.1 KiB
Python

import http.server
import socketserver
import urllib.parse
from datetime import datetime
PORT = 8000
class CustomHandler(http.server.SimpleHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers.get('Content-Length', 0))
post_data = self.rfile.read(content_length).decode('utf-8')
parsed = urllib.parse.parse_qs(post_data)
msg = parsed.get('msg', [''])[0]
if msg:
with open('sql-install-telemetry.log', 'a') as f:
f.write(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {msg}\n")
# Print to standard output so I can read it with command_status
print(f"DB01 TELEMETRY: {msg}", flush=True)
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(b"OK")
socketserver.TCPServer.allow_reuse_address = True
with socketserver.TCPServer(("", PORT), CustomHandler) as httpd:
print(f"Logging server listening intensely on port {PORT}...", flush=True)
httpd.serve_forever()