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