mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-05-29 02:17:52 +08:00
Add colored logs option.
This commit is contained in:
parent
b293f8cefd
commit
2e2502affe
@ -5,6 +5,24 @@ import logging
|
|||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
|
ANSI_LEVEL_COLORS = {
|
||||||
|
'DEBUG': '\033[36m', # cyan
|
||||||
|
'INFO': '\033[32m', # green
|
||||||
|
'WARNING': '\033[33m', # yellow
|
||||||
|
'ERROR': '\033[31m', # red
|
||||||
|
'CRITICAL': '\033[35m', # magenta
|
||||||
|
}
|
||||||
|
ANSI_RESET = '\033[0m'
|
||||||
|
ANSI_BOLD = '\033[1m'
|
||||||
|
|
||||||
|
|
||||||
|
class ColoredFormatter(logging.Formatter):
|
||||||
|
def format(self, record):
|
||||||
|
color = ANSI_LEVEL_COLORS.get(record.levelname, '')
|
||||||
|
bold = ANSI_BOLD if record.levelno >= logging.WARNING else ''
|
||||||
|
level_tag = f"{bold}{color}[{record.levelname}]{ANSI_RESET} "
|
||||||
|
return level_tag + super().format(record)
|
||||||
|
|
||||||
logs = None
|
logs = None
|
||||||
stdout_interceptor = None
|
stdout_interceptor = None
|
||||||
stderr_interceptor = None
|
stderr_interceptor = None
|
||||||
@ -51,7 +69,7 @@ def on_flush(callback):
|
|||||||
if stderr_interceptor is not None:
|
if stderr_interceptor is not None:
|
||||||
stderr_interceptor.on_flush(callback)
|
stderr_interceptor.on_flush(callback)
|
||||||
|
|
||||||
def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool = False):
|
def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool = False, color_logs: bool = False):
|
||||||
global logs
|
global logs
|
||||||
if logs:
|
if logs:
|
||||||
return
|
return
|
||||||
@ -68,8 +86,10 @@ def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool
|
|||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(log_level)
|
logger.setLevel(log_level)
|
||||||
|
|
||||||
|
formatter = ColoredFormatter("%(message)s") if color_logs else logging.Formatter("%(message)s")
|
||||||
|
|
||||||
stream_handler = logging.StreamHandler()
|
stream_handler = logging.StreamHandler()
|
||||||
stream_handler.setFormatter(logging.Formatter("%(message)s"))
|
stream_handler.setFormatter(formatter)
|
||||||
|
|
||||||
if use_stdout:
|
if use_stdout:
|
||||||
# Only errors and critical to stderr
|
# Only errors and critical to stderr
|
||||||
@ -77,7 +97,7 @@ def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool
|
|||||||
|
|
||||||
# Lesser to stdout
|
# Lesser to stdout
|
||||||
stdout_handler = logging.StreamHandler(sys.stdout)
|
stdout_handler = logging.StreamHandler(sys.stdout)
|
||||||
stdout_handler.setFormatter(logging.Formatter("%(message)s"))
|
stdout_handler.setFormatter(formatter)
|
||||||
stdout_handler.addFilter(lambda record: record.levelno < logging.ERROR)
|
stdout_handler.addFilter(lambda record: record.levelno < logging.ERROR)
|
||||||
logger.addHandler(stdout_handler)
|
logger.addHandler(stdout_handler)
|
||||||
|
|
||||||
|
|||||||
@ -183,6 +183,7 @@ parser.add_argument("--multi-user", action="store_true", help="Enables per-user
|
|||||||
|
|
||||||
parser.add_argument("--verbose", default='INFO', const='DEBUG', nargs="?", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], help='Set the logging level')
|
parser.add_argument("--verbose", default='INFO', const='DEBUG', nargs="?", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], help='Set the logging level')
|
||||||
parser.add_argument("--log-stdout", action="store_true", help="Send normal process output to stdout instead of stderr (default).")
|
parser.add_argument("--log-stdout", action="store_true", help="Send normal process output to stdout instead of stderr (default).")
|
||||||
|
parser.add_argument("--color-logs", action="store_true", help="Enable ANSI colored log output in the terminal.")
|
||||||
|
|
||||||
|
|
||||||
# The default built-in provider hosted under web/
|
# The default built-in provider hosted under web/
|
||||||
|
|||||||
2
main.py
2
main.py
@ -17,7 +17,7 @@ import folder_paths
|
|||||||
import time
|
import time
|
||||||
from comfy.cli_args import enables_dynamic_vram
|
from comfy.cli_args import enables_dynamic_vram
|
||||||
from app.logger import setup_logger
|
from app.logger import setup_logger
|
||||||
setup_logger(log_level=args.verbose, use_stdout=args.log_stdout)
|
setup_logger(log_level=args.verbose, use_stdout=args.log_stdout, color_logs=args.color_logs)
|
||||||
|
|
||||||
from app.assets.seeder import asset_seeder
|
from app.assets.seeder import asset_seeder
|
||||||
from app.assets.services import register_output_files
|
from app.assets.services import register_output_files
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user