diff options
author | Ross Burton <ross.burton@arm.com> | 2023-01-31 11:49:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-02-01 13:59:56 +0000 |
commit | 8fc939d942cec1662ca386b87c63f167bb10fd05 (patch) | |
tree | 865657c2d7017f195aaf72cd0e0b75971c45fff7 /meta | |
parent | 3485df2ff61143aac03d92300b7bac4e5d6b2427 (diff) | |
download | openembedded-core-8fc939d942cec1662ca386b87c63f167bb10fd05.tar.gz |
oeqa/utils/httpserver: connect up the request logging
Call logger.info() in the log_message handler so that we get request
logging, and hopefully even error messages.
Create a child logger to be neat and compartmentalise the logging.
Add a __main__ entrypoint so this class can be exercised outside of oeqa.
Remove unused traceback import.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oeqa/utils/httpserver.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/meta/lib/oeqa/utils/httpserver.py b/meta/lib/oeqa/utils/httpserver.py index 8ce1dd42f4..2aa172bf79 100644 --- a/meta/lib/oeqa/utils/httpserver.py +++ b/meta/lib/oeqa/utils/httpserver.py @@ -5,9 +5,9 @@ # import http.server +import logging import multiprocessing import os -import traceback import signal from socketserver import ThreadingMixIn @@ -15,20 +15,24 @@ class HTTPServer(ThreadingMixIn, http.server.HTTPServer): def server_start(self, root_dir, logger): os.chdir(root_dir) + self.logger = logger self.serve_forever() class HTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def log_message(self, format_str, *args): - pass + self.server.logger.info(format_str, *args) -class HTTPService(object): +class HTTPService: def __init__(self, root_dir, host='', port=0, logger=None): self.root_dir = root_dir self.host = host self.port = port - self.logger = logger + if logger: + self.logger = logger.getChild("HTTPService") + else: + self.logger = logging.getLogger("HTTPService") def start(self): if not os.path.exists(self.root_dir): @@ -49,7 +53,7 @@ class HTTPService(object): signal.signal(signal.SIGTERM, orig) if self.logger: - self.logger.info("Started HTTPService on %s:%s" % (self.host, self.port)) + self.logger.info("Started HTTPService for %s on %s:%s" % (self.root_dir, self.host, self.port)) def stop(self): @@ -61,3 +65,10 @@ class HTTPService(object): if self.logger: self.logger.info("Stopped HTTPService on %s:%s" % (self.host, self.port)) +if __name__ == "__main__": + import sys, logging + + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.DEBUG) + httpd = HTTPService(sys.argv[1], port=8888, logger=logger) + httpd.start() |