You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "josix (via GitHub)" <gi...@apache.org> on 2024/08/13 09:52:23 UTC

Re: [PR] Added logging device and logging device options [airflow]

josix commented on code in PR #41416:
URL: https://github.com/apache/airflow/pull/41416#discussion_r1715012521


##########
airflow/providers/docker/operators/docker_swarm.py:
##########
@@ -128,12 +140,25 @@ def __init__(
         self.networks = networks
         self.placement = placement
         self.container_resources = container_resources or types.Resources(mem_limit=self.mem_limit)
+        self.logging_driver = logging_driver
+        self.logging_driver_opts = logging_driver_opts
 
     def execute(self, context: Context) -> None:
         self.environment["AIRFLOW_TMP_DIR"] = self.tmp_dir
         return self._run_service()
 
     def _run_service(self) -> None:
+        if self.logging_driver:
+            logging_driver = self.logging_driver.lower()
+            supported_logging_drivers = ["json-file", "gelf"]
+            if logging_driver not in supported_logging_drivers:
+                raise AirflowException(
+                    f"Unsupported logging driver provided: {logging_driver}. Must be one of: [{', '.join(supported_logging_drivers)}]"
+                )
+            log_driver = types.DriverConfig(logging_driver, self.logging_driver_opts)

Review Comment:
   question (non-blocking): how about moving the validation into initialization or a separate method instead of run_service? That would be helpful for avoiding mixing purposes (like setting the correct log_driver and create the service) in `_run_service`. I think It would also raise the question of whether we expect the exception to be raised at execution time or at the DAG definition phase (CMIIW).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org