refactor: update logging to use logger.debug for consistency (#7258)
refactor: replace rich print statements with logger.debug for improved logging consistency in main.py * Updated startup and shutdown messages to use logger.debug instead of rich print for better integration with logging practices. * Enhanced service initialization and flow loading messages to provide clearer debug information during application startup.
This commit is contained in:
parent
ce5a4ff786
commit
bad36a8816
1 changed files with 19 additions and 22 deletions
|
|
@ -20,7 +20,6 @@ from loguru import logger
|
|||
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
|
||||
from pydantic import PydanticDeprecatedSince20
|
||||
from pydantic_core import PydanticSerializationError
|
||||
from rich import print as rprint
|
||||
from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint
|
||||
|
||||
from langflow.api import health_check_router, log_router, router
|
||||
|
|
@ -118,58 +117,58 @@ def get_lifespan(*, fix_migration=False, version=None):
|
|||
|
||||
# Startup message
|
||||
if version:
|
||||
rprint(f"[bold green]Starting Langflow v{version}...[/bold green]")
|
||||
logger.debug(f"Starting Langflow v{version}...")
|
||||
else:
|
||||
rprint("[bold green]Starting Langflow...[/bold green]")
|
||||
logger.debug("Starting Langflow...")
|
||||
|
||||
temp_dirs: list[TemporaryDirectory] = []
|
||||
sync_flows_from_fs_task = None
|
||||
try:
|
||||
start_time = asyncio.get_event_loop().time()
|
||||
|
||||
rprint("[bold blue]Initializing services[/bold blue]")
|
||||
logger.debug("Initializing services")
|
||||
await initialize_services(fix_migration=fix_migration)
|
||||
rprint(f"✓ Services initialized in {asyncio.get_event_loop().time() - start_time:.2f}s")
|
||||
logger.debug(f"Services initialized in {asyncio.get_event_loop().time() - start_time:.2f}s")
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Setting up LLM caching[/bold blue]")
|
||||
logger.debug("Setting up LLM caching")
|
||||
setup_llm_caching()
|
||||
rprint(f"✓ LLM caching setup in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"LLM caching setup in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Initializing super user[/bold blue]")
|
||||
logger.debug("Initializing super user")
|
||||
await initialize_super_user_if_needed()
|
||||
rprint(f"✓ Super user initialized in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"Super user initialized in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Loading bundles[/bold blue]")
|
||||
logger.debug("Loading bundles")
|
||||
temp_dirs, bundles_components_paths = await load_bundles_with_error_handling()
|
||||
get_settings_service().settings.components_path.extend(bundles_components_paths)
|
||||
rprint(f"✓ Bundles loaded in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"Bundles loaded in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Caching types[/bold blue]")
|
||||
logger.debug("Caching types")
|
||||
all_types_dict = await get_and_cache_all_types_dict(get_settings_service())
|
||||
rprint(f"✓ Types cached in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"Types cached in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Creating/updating starter projects[/bold blue]")
|
||||
logger.debug("Creating/updating starter projects")
|
||||
await create_or_update_starter_projects(all_types_dict)
|
||||
rprint(f"✓ Starter projects updated in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"Starter projects updated in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
telemetry_service.start()
|
||||
|
||||
current_time = asyncio.get_event_loop().time()
|
||||
rprint("[bold blue]Loading flows[/bold blue]")
|
||||
logger.debug("Loading flows")
|
||||
await load_flows_from_directory()
|
||||
sync_flows_from_fs_task = asyncio.create_task(sync_flows_from_fs())
|
||||
queue_service = get_queue_service()
|
||||
if not queue_service.is_started(): # Start if not already started
|
||||
queue_service.start()
|
||||
rprint(f"✓ Flows loaded in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
logger.debug(f"Flows loaded in {asyncio.get_event_loop().time() - current_time:.2f}s")
|
||||
|
||||
total_time = asyncio.get_event_loop().time() - start_time
|
||||
rprint(f"[bold green]✓ Total initialization time: {total_time:.2f}s[/bold green]")
|
||||
logger.debug(f"Total initialization time: {total_time:.2f}s")
|
||||
yield
|
||||
|
||||
except Exception as exc:
|
||||
|
|
@ -187,7 +186,7 @@ def get_lifespan(*, fix_migration=False, version=None):
|
|||
temp_dir_cleanups = [asyncio.to_thread(temp_dir.cleanup) for temp_dir in temp_dirs]
|
||||
await asyncio.gather(*temp_dir_cleanups)
|
||||
# Final message
|
||||
rprint("[bold red]Langflow shutdown complete[/bold red]")
|
||||
logger.debug("Langflow shutdown complete")
|
||||
|
||||
return lifespan
|
||||
|
||||
|
|
@ -197,8 +196,6 @@ def create_app():
|
|||
from langflow.utils.version import get_version_info
|
||||
|
||||
__version__ = get_version_info()["version"]
|
||||
|
||||
rprint("configuring")
|
||||
configure()
|
||||
lifespan = get_lifespan(version=__version__)
|
||||
app = FastAPI(lifespan=lifespan, title="Langflow", version=__version__)
|
||||
|
|
@ -268,7 +265,7 @@ def create_app():
|
|||
# set here for create_app() entry point
|
||||
prome_port = int(prome_port_str)
|
||||
if prome_port > 0 or prome_port < MAX_PORT:
|
||||
rprint(f"[bold green]Starting Prometheus server on port {prome_port}...[/bold green]")
|
||||
logger.debug(f"Starting Prometheus server on port {prome_port}...")
|
||||
settings.prometheus_enabled = True
|
||||
settings.prometheus_port = prome_port
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue