1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import os
- import logging
- try:
- from tqdm.auto import tqdm
- class TqdmLoggingHandler(logging.Handler):
- def __init__(self, level=logging.INFO):
- super().__init__(level)
- def emit(self, record):
- try:
- msg = self.format(record)
- tqdm.write(msg)
- self.flush()
- except Exception:
- 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):
- if loglevel is None:
- loglevel = os.environ.get("SD_WEBUI_LOG_LEVEL")
- loghandlers = []
- if TQDM_IMPORTED:
- loghandlers.append(TqdmLoggingHandler())
- if loglevel:
- log_level = getattr(logging, loglevel.upper(), None) or logging.INFO
- logging.basicConfig(
- level=log_level,
- format='%(asctime)s %(levelname)s [%(name)s] %(message)s',
- datefmt='%Y-%m-%d %H:%M:%S',
- handlers=loghandlers
- )
|