Merge pull request #2927 from MinchinWeb/rich-server

Use rich logging for Pelican server
This commit is contained in:
Justin Mayer 2021-10-05 06:45:03 +02:00 committed by GitHub
commit b5426fb0bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -476,6 +476,10 @@ def autoreload(args, excqueue=None):
def listen(server, port, output, excqueue=None):
# set logging level to at least "INFO" (so we can see the server requests)
if logger.level < logging.INFO:
logger.setLevel(logging.INFO)
RootedHTTPServer.allow_reuse_address = True
try:
httpd = RootedHTTPServer(
@ -487,8 +491,8 @@ def listen(server, port, output, excqueue=None):
return
try:
print("\nServing site at: http://{}:{} - Tap CTRL-C to stop".format(
server, port))
console.print("Serving site at: http://{}:{} - Tap CTRL-C to stop".format(
server, port))
httpd.serve_forever()
except Exception as e:
if excqueue is not None:

View file

@ -12,6 +12,7 @@ try:
except ImportError:
magic_from_file = None
from pelican.log import console # noqa: F401
from pelican.log import init as init_logging
logger = logging.getLogger(__name__)
@ -104,6 +105,9 @@ class ComplexHTTPRequestHandler(server.SimpleHTTPRequestHandler):
return mimetype
def log_message(self, format, *args):
logger.info(format, *args)
class RootedHTTPServer(server.HTTPServer):
def __init__(self, base_path, *args, **kwargs):