Commit cdb60a69 authored by Lucas Daniel Velazquez M's avatar Lucas Daniel Velazquez M Committed by Your Name

Take into account tqdm not being installed before first boot for logging

parent 236eb82c
import os import os
import logging import logging
from tqdm.auto import tqdm try:
from tqdm.auto import tqdm
class TqdmLoggingHandler(logging.Handler): class TqdmLoggingHandler(logging.Handler):
def __init__(self, level=logging.INFO): def __init__(self, level=logging.INFO):
super().__init__(level) super().__init__(level)
def emit(self, record): def emit(self, record):
try: try:
msg = self.format(record) msg = self.format(record)
tqdm.write(msg) tqdm.write(msg)
self.flush() self.flush()
except Exception: except Exception:
self.handleError(record) self.handleError(record)
TQDM_IMPORTED = True
except ImportError:
# tqdm does not exist before first launch
# I will import once the UI finishes seting up the enviroment and reloads.
TQDM_IMPORTED = False
def setup_logging(loglevel): def setup_logging(loglevel):
if loglevel is None: if loglevel is None:
loglevel = os.environ.get("SD_WEBUI_LOG_LEVEL") loglevel = os.environ.get("SD_WEBUI_LOG_LEVEL")
loghandlers = []
if TQDM_IMPORTED:
loghandlers.append(TqdmLoggingHandler())
if loglevel: if loglevel:
log_level = getattr(logging, loglevel.upper(), None) or logging.INFO log_level = getattr(logging, loglevel.upper(), None) or logging.INFO
logging.basicConfig( logging.basicConfig(
level=log_level, level=log_level,
format='%(asctime)s %(levelname)s [%(name)s] %(message)s', format='%(asctime)s %(levelname)s [%(name)s] %(message)s',
datefmt='%Y-%m-%d %H:%M:%S', datefmt='%Y-%m-%d %H:%M:%S',
handlers=[TqdmLoggingHandler()] handlers=[]
) )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment