diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-05-31 16:16:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-31 16:16:14 +0000 |
commit | d9bd7ada7675d3903181a6a65ba625d82cf88443 (patch) | |
tree | 30470f64d84cadc4140023c0bf34c35bb68f79b0 /modules/api/api.py | |
parent | 78a602ae8c006077ca93913576335a3a33dba7cb (diff) | |
parent | 52b8752e6201e24c783f674f8dc0681027e10ea9 (diff) | |
download | stable-diffusion-webui-gfx803-d9bd7ada7675d3903181a6a65ba625d82cf88443.tar.gz stable-diffusion-webui-gfx803-d9bd7ada7675d3903181a6a65ba625d82cf88443.tar.bz2 stable-diffusion-webui-gfx803-d9bd7ada7675d3903181a6a65ba625d82cf88443.zip |
Merge pull request #10820 from akx/report-error
Add & use modules.errors.print_error
Diffstat (limited to 'modules/api/api.py')
-rw-r--r-- | modules/api/api.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index be28c59a..fbd616a3 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -16,6 +16,7 @@ from secrets import compare_digest import modules.shared as shared from modules import sd_samplers, deepbooru, sd_hijack, images, scripts, ui, postprocessing from modules.api import models +from modules.errors import print_error from modules.shared import opts from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images from modules.textual_inversion.textual_inversion import create_embedding, train_embedding @@ -109,7 +110,6 @@ def api_middleware(app: FastAPI): from rich.console import Console console = Console() except Exception: - import traceback rich_available = False @app.middleware("http") @@ -140,11 +140,12 @@ def api_middleware(app: FastAPI): "errors": str(e), } if not isinstance(e, HTTPException): # do not print backtrace on known httpexceptions - print(f"API error: {request.method}: {request.url} {err}") + message = f"API error: {request.method}: {request.url} {err}" if rich_available: + print(message) console.print_exception(show_locals=True, max_frames=2, extra_lines=1, suppress=[anyio, starlette], word_wrap=False, width=min([console.width, 200])) else: - traceback.print_exc() + print_error(message, exc_info=True) return JSONResponse(status_code=vars(e).get('status_code', 500), content=jsonable_encoder(err)) @app.middleware("http") |