From c4a2808a4be56b4ba7f0732d46985e8fa351f438 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 11:24:07 -0400 Subject: [PATCH] use same logging infrastructure for uvicorn and backend --- invokeai/app/api_app.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 044271779c..626de33345 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -3,6 +3,7 @@ import asyncio import sys from inspect import signature +import logging import uvicorn import socket @@ -210,11 +211,23 @@ def invoke_api(): port = find_port(app_config.port) if port != app_config.port: logger.warn(f"Port {app_config.port} in use, using port {port}") + # Start our own event loop for eventing usage loop = asyncio.new_event_loop() - config = uvicorn.Config(app=app, host=app_config.host, port=port, loop=loop) - # Use access_log to turn off logging + config = uvicorn.Config( + app=app, + host=app_config.host, + port=port, + loop=loop, + log_level=app_config.log_level, + ) server = uvicorn.Server(config) + + # replace uvicorn's logger with InvokeAI's for consistent appearance + logging.getLogger("uvicorn").handlers.clear() + for ch in logger.handlers: + logging.getLogger("uvicorn").addHandler(ch) + loop.run_until_complete(server.serve()) if __name__ == "__main__":