Forráskód Böngészése

Revert "chore: improve validation and handler of logging timezone with TimezoneName" (#10077)

crazywoola 5 hónapja
szülő
commit
0a3d51e9cf
2 módosított fájl, 12 hozzáadás és 10 törlés
  1. 2 4
      api/configs/feature/__init__.py
  2. 10 6
      api/extensions/ext_logging.py

+ 2 - 4
api/configs/feature/__init__.py

@@ -10,7 +10,6 @@ from pydantic import (
     PositiveInt,
     computed_field,
 )
-from pydantic_extra_types.timezone_name import TimeZoneName
 from pydantic_settings import BaseSettings
 
 from configs.feature.hosted_service import HostedServiceConfig
@@ -340,9 +339,8 @@ class LoggingConfig(BaseSettings):
         default=None,
     )
 
-    LOG_TZ: Optional[TimeZoneName] = Field(
-        description="Timezone for log timestamps. Allowed timezone values can be referred to IANA Time Zone Database,"
-        " e.g., 'America/New_York')",
+    LOG_TZ: Optional[str] = Field(
+        description="Timezone for log timestamps (e.g., 'America/New_York')",
         default=None,
     )
 

+ 10 - 6
api/extensions/ext_logging.py

@@ -1,10 +1,8 @@
 import logging
 import os
 import sys
-from datetime import datetime
 from logging.handlers import RotatingFileHandler
 
-import pytz
 from flask import Flask
 
 from configs import dify_config
@@ -32,10 +30,16 @@ def init_app(app: Flask):
         handlers=log_handlers,
         force=True,
     )
-
     log_tz = dify_config.LOG_TZ
     if log_tz:
+        from datetime import datetime
+
+        import pytz
+
+        timezone = pytz.timezone(log_tz)
+
+        def time_converter(seconds):
+            return datetime.utcfromtimestamp(seconds).astimezone(timezone).timetuple()
+
         for handler in logging.root.handlers:
-            handler.formatter.converter = lambda seconds: (
-                datetime.fromtimestamp(seconds, tz=pytz.UTC).astimezone(log_tz).timetuple()
-            )
+            handler.formatter.converter = time_converter