From b325fc8c5f1d56d90a2aee4ce2495ead867a42e7 Mon Sep 17 00:00:00 2001 From: anti Date: Sun, 12 Apr 2026 01:43:42 -0400 Subject: [PATCH] fix(logging): silence Twisted internal logs and Werkzeug startup banner from stdout --- templates/ftp/server.py | 2 +- templates/http/server.py | 3 +++ templates/rdp/server.py | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/templates/ftp/server.py b/templates/ftp/server.py index bc3e8a4..4ee959f 100644 --- a/templates/ftp/server.py +++ b/templates/ftp/server.py @@ -71,7 +71,7 @@ class ServerFTPFactory(FTPFactory): welcomeMessage = BANNER if __name__ == "__main__": - twisted_log.startLogging(sys.stdout) + twisted_log.startLoggingWithObserver(lambda e: None, setStdout=False) _log("startup", msg=f"FTP server starting as {NODE_NAME} on port {PORT}") reactor.listenTCP(PORT, ServerFTPFactory()) reactor.run() diff --git a/templates/http/server.py b/templates/http/server.py index 999e27c..c666eeb 100644 --- a/templates/http/server.py +++ b/templates/http/server.py @@ -6,6 +6,7 @@ and responds with configurable pages. Forwards events as JSON to LOG_TARGET if s """ import json +import logging import os from pathlib import Path @@ -13,6 +14,8 @@ from flask import Flask, request, send_from_directory from werkzeug.serving import make_server, WSGIRequestHandler from decnet_logging import syslog_line, write_syslog_file, forward_syslog +logging.getLogger("werkzeug").setLevel(logging.ERROR) + NODE_NAME = os.environ.get("NODE_NAME", "webserver") SERVICE_NAME = "http" LOG_TARGET = os.environ.get("LOG_TARGET", "") diff --git a/templates/rdp/server.py b/templates/rdp/server.py index 24d3650..e669499 100644 --- a/templates/rdp/server.py +++ b/templates/rdp/server.py @@ -51,7 +51,7 @@ class RDPServerFactory(protocol.ServerFactory): if __name__ == "__main__": - twisted_log.startLogging(sys.stdout) + twisted_log.startLoggingWithObserver(lambda e: None, setStdout=False) _log("startup", msg=f"RDP server starting as {NODE_NAME} on port 3389") reactor.listenTCP(3389, RDPServerFactory()) reactor.run()