Explorar el Código

Fix: Set Celery LOG_File only when available, always log to console (#10563)

fdb02983rhy hace 5 meses
padre
commit
16db2c4e57
Se han modificado 2 ficheros con 12 adiciones y 6 borrados
  1. 5 1
      api/extensions/ext_celery.py
  2. 7 5
      api/extensions/ext_logging.py

+ 5 - 1
api/extensions/ext_celery.py

@@ -46,7 +46,6 @@ def init_app(app: Flask) -> Celery:
         broker_connection_retry_on_startup=True,
         worker_log_format=dify_config.LOG_FORMAT,
         worker_task_log_format=dify_config.LOG_FORMAT,
-        worker_logfile=dify_config.LOG_FILE,
         worker_hijack_root_logger=False,
         timezone=pytz.timezone(dify_config.LOG_TZ),
     )
@@ -56,6 +55,11 @@ def init_app(app: Flask) -> Celery:
             broker_use_ssl=ssl_options,  # Add the SSL options to the broker configuration
         )
 
+    if dify_config.LOG_FILE:
+        celery_app.conf.update(
+            worker_logfile=dify_config.LOG_FILE,
+        )
+
     celery_app.set_default()
     app.extensions["celery"] = celery_app
 

+ 7 - 5
api/extensions/ext_logging.py

@@ -9,19 +9,21 @@ from configs import dify_config
 
 
 def init_app(app: Flask):
-    log_handlers = None
+    log_handlers = []
     log_file = dify_config.LOG_FILE
     if log_file:
         log_dir = os.path.dirname(log_file)
         os.makedirs(log_dir, exist_ok=True)
-        log_handlers = [
+        log_handlers.append(
             RotatingFileHandler(
                 filename=log_file,
                 maxBytes=dify_config.LOG_FILE_MAX_SIZE * 1024 * 1024,
                 backupCount=dify_config.LOG_FILE_BACKUP_COUNT,
-            ),
-            logging.StreamHandler(sys.stdout),
-        ]
+            )
+        )
+
+    # Always add StreamHandler to log to console
+    log_handlers.append(logging.StreamHandler(sys.stdout))
 
     logging.basicConfig(
         level=dify_config.LOG_LEVEL,