Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/backend/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from backend.server.server_args import parse_args
from backend.server.static_config import get_model_list, get_node_join_command
from parallax_utils.ascii_anime import display_parallax_run
from parallax_utils.logging_config import get_logger
from parallax_utils.logging_config import get_logger, set_log_level

app = FastAPI()

Expand Down Expand Up @@ -126,6 +126,7 @@ async def serve_index():

if __name__ == "__main__":
args = parse_args()
set_log_level(args.log_level)
logger.info(f"args: {args}")
if args.log_level != "DEBUG":
display_parallax_run()
Expand Down
3 changes: 2 additions & 1 deletion src/parallax/launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from parallax.server.server_args import parse_args
from parallax.utils.utils import get_current_device
from parallax_utils.ascii_anime import display_parallax_join
from parallax_utils.logging_config import get_logger
from parallax_utils.logging_config import get_logger, set_log_level

logger = get_logger("parallax.launch")

Expand All @@ -48,6 +48,7 @@
executor = None
try:
args = parse_args()
set_log_level(args.log_level)
logger.debug(f"args: {args}")
args.recv_from_peer_addr = f"ipc://{tempfile.NamedTemporaryFile().name}"
args.send_to_peer_addr = f"ipc://{tempfile.NamedTemporaryFile().name}"
Expand Down
12 changes: 8 additions & 4 deletions src/parallax_utils/logging_config.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Logging configuration for Parallax."""

import logging
import os
import sys
import threading
from typing import Optional

__all__ = ["get_logger", "use_parallax_log_handler"]
__all__ = ["get_logger", "use_parallax_log_handler", "set_log_level"]

_init_lock = threading.Lock()
_default_handler: logging.Handler | None = None
Expand Down Expand Up @@ -90,13 +89,18 @@ def _initialize_if_necessary():
_default_handler.setFormatter(formatter)

# root level from env or INFO
level_name = os.getenv("PARALLAX_LOGLEVEL", "INFO").upper()
logging.getLogger().setLevel(level_name)
logging.getLogger().setLevel("INFO")

# Allow logs from our main packages by default
_enable_default_handler(("parallax", "scheduling", "backend", "sglang"))


def set_log_level(level_name: str):
"""Set the root logger level."""
_initialize_if_necessary()
logging.getLogger().setLevel(level_name.upper())


def get_logger(name: Optional[str] = None) -> logging.Logger:
"""
Grab a logger with parallax’s default handler attached.
Expand Down