Explorar o código

Avoid `set_log_level` foot gun (#4422)

Masen Furer hai 5 meses
pai
achega
000938414f
Modificáronse 1 ficheiros con 15 adicións e 0 borrados
  1. 15 0
      reflex/utils/console.py

+ 15 - 0
reflex/utils/console.py

@@ -26,7 +26,22 @@ def set_log_level(log_level: LogLevel):
 
     Args:
         log_level: The log level to set.
+
+    Raises:
+        ValueError: If the log level is invalid.
     """
+    if not isinstance(log_level, LogLevel):
+        deprecate(
+            feature_name="Passing a string to set_log_level",
+            reason="use reflex.constants.LogLevel enum instead",
+            deprecation_version="0.6.6",
+            removal_version="0.7.0",
+        )
+        try:
+            log_level = getattr(LogLevel, log_level.upper())
+        except AttributeError as ae:
+            raise ValueError(f"Invalid log level: {log_level}") from ae
+
     global _LOG_LEVEL
     _LOG_LEVEL = log_level