This is an automated email from the ASF dual-hosted git repository.

jedcunningham pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 8c15b0a6d1 Use log.exception where more economical than log.error 
(#27517)
8c15b0a6d1 is described below

commit 8c15b0a6d1a846cc477618e326a50cd96f76380f
Author: Daniel Standish <[email protected]>
AuthorDate: Mon Nov 7 09:39:33 2022 -0800

    Use log.exception where more economical than log.error (#27517)
    
    When we do log.error(..., exc_info=True), then log.exception is cleaner.
---
 airflow/providers/alibaba/cloud/log/oss_task_handler.py        |  2 +-
 airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py  |  2 +-
 airflow/stats.py                                               |  2 +-
 .../providers/cncf/kubernetes/operators/test_kubernetes_pod.py | 10 ++++------
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/airflow/providers/alibaba/cloud/log/oss_task_handler.py 
b/airflow/providers/alibaba/cloud/log/oss_task_handler.py
index 51d841e2f9..c443b4e014 100644
--- a/airflow/providers/alibaba/cloud/log/oss_task_handler.py
+++ b/airflow/providers/alibaba/cloud/log/oss_task_handler.py
@@ -51,7 +51,7 @@ class OSSTaskHandler(FileTaskHandler, LoggingMixin):
         try:
             return OSSHook(oss_conn_id=remote_conn_id)
         except Exception as e:
-            self.log.error(e, exc_info=True)
+            self.log.exception(e)
             self.log.error(
                 'Could not create an OSSHook with connection id "%s". '
                 "Please make sure that airflow[oss] is installed and "
diff --git a/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py 
b/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
index bf9d229486..9a34a21b10 100644
--- a/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
+++ b/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
@@ -631,5 +631,5 @@ class _suppress(AbstractContextManager):
         if caught_error:
             self.exception = excinst
             logger = logging.getLogger(__name__)
-            logger.error(str(excinst), exc_info=True)
+            logger.exception(excinst)
         return caught_error
diff --git a/airflow/stats.py b/airflow/stats.py
index 540c2b4675..115cf94c20 100644
--- a/airflow/stats.py
+++ b/airflow/stats.py
@@ -220,7 +220,7 @@ def validate_stat(fn: T) -> T:
                 stat = handler_stat_name_func(stat)
             return fn(_self, stat, *args, **kwargs)
         except InvalidStatsNameException:
-            log.error('Invalid stat name: %s.', stat, exc_info=True)
+            log.exception('Invalid stat name: %s.', stat)
             return None
 
     return cast(T, wrapper)
diff --git a/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py 
b/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
index e4710d8860..fb1bd35d95 100644
--- a/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
+++ b/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
@@ -898,10 +898,8 @@ class TestKubernetesPodOperator:
         mock_delete_pod.assert_not_called()
 
 
-def test__suppress():
-    with patch("logging.Logger.error") as mock_error:
+def test__suppress(caplog):
+    with _suppress(ValueError):
+        raise ValueError("failure")
 
-        with _suppress(ValueError):
-            raise ValueError("failure")
-
-        mock_error.assert_called_once_with("failure", exc_info=True)
+    assert "ValueError: failure" in caplog.text

Reply via email to