make LOG_LEVEL configurable (#510)
This commit is contained in:
@@ -29,6 +29,7 @@ class Settings(BaseSettings):
|
|||||||
ENV: str = "local"
|
ENV: str = "local"
|
||||||
EXECUTE_ALL_STEPS: bool = True
|
EXECUTE_ALL_STEPS: bool = True
|
||||||
JSON_LOGGING: bool = False
|
JSON_LOGGING: bool = False
|
||||||
|
LOG_LEVEL: str = "INFO"
|
||||||
PORT: int = 8000
|
PORT: int = 8000
|
||||||
|
|
||||||
# Secret key for JWT. Please generate your own secret key in production
|
# Secret key for JWT. Please generate your own secret key in production
|
||||||
|
|||||||
@@ -6,6 +6,14 @@ from structlog.typing import EventDict
|
|||||||
from skyvern.forge.sdk.core import skyvern_context
|
from skyvern.forge.sdk.core import skyvern_context
|
||||||
from skyvern.forge.sdk.settings_manager import SettingsManager
|
from skyvern.forge.sdk.settings_manager import SettingsManager
|
||||||
|
|
||||||
|
LOGGING_LEVEL_MAP: dict[str, int] = {
|
||||||
|
"DEBUG": logging.DEBUG,
|
||||||
|
"INFO": logging.INFO,
|
||||||
|
"WARNING": logging.WARNING,
|
||||||
|
"ERROR": logging.ERROR,
|
||||||
|
"CRITICAL": logging.CRITICAL,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def add_kv_pairs_to_msg(logger: logging.Logger, method_name: str, event_dict: EventDict) -> EventDict:
|
def add_kv_pairs_to_msg(logger: logging.Logger, method_name: str, event_dict: EventDict) -> EventDict:
|
||||||
"""
|
"""
|
||||||
@@ -73,8 +81,10 @@ def setup_logger() -> None:
|
|||||||
if SettingsManager.get_settings().JSON_LOGGING
|
if SettingsManager.get_settings().JSON_LOGGING
|
||||||
else []
|
else []
|
||||||
)
|
)
|
||||||
|
LOG_LEVEL_VAL = LOGGING_LEVEL_MAP.get(SettingsManager.get_settings().LOG_LEVEL, logging.INFO)
|
||||||
|
|
||||||
structlog.configure(
|
structlog.configure(
|
||||||
|
wrapper_class=structlog.make_filtering_bound_logger(LOG_LEVEL_VAL),
|
||||||
processors=[
|
processors=[
|
||||||
structlog.processors.add_log_level,
|
structlog.processors.add_log_level,
|
||||||
structlog.processors.TimeStamper(fmt="iso"),
|
structlog.processors.TimeStamper(fmt="iso"),
|
||||||
@@ -82,7 +92,7 @@ def setup_logger() -> None:
|
|||||||
structlog.processors.format_exc_info,
|
structlog.processors.format_exc_info,
|
||||||
]
|
]
|
||||||
+ additional_processors
|
+ additional_processors
|
||||||
+ [renderer]
|
+ [renderer],
|
||||||
)
|
)
|
||||||
uvicorn_error = logging.getLogger("uvicorn.error")
|
uvicorn_error = logging.getLogger("uvicorn.error")
|
||||||
uvicorn_error.disabled = True
|
uvicorn_error.disabled = True
|
||||||
|
|||||||
Reference in New Issue
Block a user