diff --git a/src/backend/base/langflow/__main__.py b/src/backend/base/langflow/__main__.py
index 6841ae1d1..34ed75f9b 100644
--- a/src/backend/base/langflow/__main__.py
+++ b/src/backend/base/langflow/__main__.py
@@ -149,13 +149,13 @@ def run(
Run the Langflow.
"""
+ configure(log_level=log_level, log_file=log_file)
set_var_for_macos_issue()
# override env variables with .env file
if env_file:
load_dotenv(env_file, override=True)
- configure(log_level=log_level, log_file=log_file)
update_settings(
config,
dev=dev,
@@ -246,10 +246,10 @@ def get_free_port(port):
def print_banner(host, port):
- # console = Console()
+ from langflow.version import __version__
word = "Langflow"
- colors = ["#3300cc"]
+ colors = ["#6e42f5"]
styled_word = ""
@@ -259,7 +259,7 @@ def print_banner(host, port):
# Title with emojis and gradient text
title = (
- f"[bold]Welcome to :chains: {styled_word} [/bold]\n\n"
+ f"[bold]Welcome to :chains: {styled_word} v{__version__}[/bold]\n"
f"Access [link=http://{host}:{port}]http://{host}:{port}[/link]"
)
info_text = (
@@ -307,7 +307,7 @@ def run_langflow(host, port, log_level, options, app):
def superuser(
username: str = typer.Option(..., prompt=True, help="Username for the superuser."),
password: str = typer.Option(..., prompt=True, hide_input=True, help="Password for the superuser."),
- log_level: str = typer.Option("critical", help="Logging level.", envvar="LANGFLOW_LOG_LEVEL"),
+ log_level: str = typer.Option("error", help="Logging level.", envvar="LANGFLOW_LOG_LEVEL"),
):
"""
Create a superuser.
diff --git a/src/backend/base/langflow/alembic/env.py b/src/backend/base/langflow/alembic/env.py
index 495cbb061..7400906c8 100644
--- a/src/backend/base/langflow/alembic/env.py
+++ b/src/backend/base/langflow/alembic/env.py
@@ -1,4 +1,5 @@
import os
+import warnings
from logging.config import fileConfig
from alembic import context
@@ -82,11 +83,12 @@ def run_migrations_online() -> None:
prefix="sqlalchemy.",
poolclass=pool.NullPool,
)
- with connectable.connect() as connection:
- context.configure(connection=connection, target_metadata=target_metadata, render_as_batch=True)
-
- with context.begin_transaction():
- context.run_migrations()
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore")
+ with connectable.connect() as connection:
+ context.configure(connection=connection, target_metadata=target_metadata, render_as_batch=True)
+ with context.begin_transaction():
+ context.run_migrations()
if context.is_offline_mode():
diff --git a/src/backend/base/langflow/interface/toolkits/base.py b/src/backend/base/langflow/interface/toolkits/base.py
index 9ff3ad045..efcfefaa4 100644
--- a/src/backend/base/langflow/interface/toolkits/base.py
+++ b/src/backend/base/langflow/interface/toolkits/base.py
@@ -1,3 +1,4 @@
+import warnings
from typing import Callable, Dict, List, Optional
from langchain.agents import agent_toolkits
@@ -29,13 +30,15 @@ class ToolkitCreator(LangChainTypeCreator):
@property
def type_to_loader_dict(self) -> Dict:
if self.type_dict is None:
- settings_service = get_settings_service()
- self.type_dict = {
- toolkit_name: import_class(f"langchain.agents.agent_toolkits.{toolkit_name}")
- # if toolkit_name is not lower case it is a class
- for toolkit_name in agent_toolkits.__all__
- if not toolkit_name.islower() and toolkit_name in settings_service.settings.TOOLKITS
- }
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore")
+ settings_service = get_settings_service()
+ self.type_dict = {
+ toolkit_name: import_class(f"langchain.agents.agent_toolkits.{toolkit_name}")
+ # if toolkit_name is not lower case it is a class
+ for toolkit_name in agent_toolkits.__all__
+ if not toolkit_name.islower() and toolkit_name in settings_service.settings.TOOLKITS
+ }
return self.type_dict
diff --git a/src/backend/base/langflow/main.py b/src/backend/base/langflow/main.py
index f628ffb9c..9ed6e2984 100644
--- a/src/backend/base/langflow/main.py
+++ b/src/backend/base/langflow/main.py
@@ -130,7 +130,7 @@ if __name__ == "__main__":
host="127.0.0.1",
port=7860,
workers=get_number_of_workers(),
- log_level="debug",
+ log_level="error",
reload=True,
loop="asyncio",
)
diff --git a/src/backend/base/langflow/server.py b/src/backend/base/langflow/server.py
index 8451a9d08..b7e86934d 100644
--- a/src/backend/base/langflow/server.py
+++ b/src/backend/base/langflow/server.py
@@ -1,3 +1,5 @@
+import os
+
from gunicorn.app.base import BaseApplication # type: ignore
from uvicorn.workers import UvicornWorker
@@ -11,6 +13,7 @@ class LangflowApplication(BaseApplication):
self.options = options or {}
self.options["worker_class"] = "langflow.server.LangflowUvicornWorker"
+ self.options["loglevel"] = os.getenv("LANGFLOW_LOG_LEVEL", "error").lower()
self.application = app
super().__init__()
diff --git a/src/backend/base/langflow/utils/logger.py b/src/backend/base/langflow/utils/logger.py
index 5d9ec8406..d92bdb0e1 100644
--- a/src/backend/base/langflow/utils/logger.py
+++ b/src/backend/base/langflow/utils/logger.py
@@ -28,7 +28,7 @@ def configure(log_level: Optional[str] = None, log_file: Optional[Path] = None):
if os.getenv("LANGFLOW_LOG_LEVEL", "").upper() in VALID_LOG_LEVELS and log_level is None:
log_level = os.getenv("LANGFLOW_LOG_LEVEL")
if log_level is None:
- log_level = "INFO"
+ log_level = "ERROR"
# Human-readable
log_format = (
"{time:YYYY-MM-DD HH:mm:ss} - "