diff --git a/airflow/utils/log/json_formatter.py b/airflow/utils/log/json_formatter.py index 1d90bc396d9c79..3cf45302accc2d 100644 --- a/airflow/utils/log/json_formatter.py +++ b/airflow/utils/log/json_formatter.py @@ -53,6 +53,9 @@ def __init__(self, fmt=None, datefmt=None, json_fields=None, extras=None): self.json_fields = json_fields self.extras = extras + def usesTime(self): + return self.json_fields.count('asctime') > 0 + def format(self, record): super(JSONFormatter, self).format(record) record_dict = {label: getattr(record, label, None) diff --git a/tests/utils/log/test_json_formatter.py b/tests/utils/log/test_json_formatter.py index 5c305c9ecd50ac..1608d810e7e480 100644 --- a/tests/utils/log/test_json_formatter.py +++ b/tests/utils/log/test_json_formatter.py @@ -75,6 +75,15 @@ def test_merge_dicts_recursive_right_only(self): merged = merge_dicts(dict1, dict2) self.assertDictEqual(merged, {'a': 1, 'r': {'b': 0, 'c': 3}}) + def test_uses_time(self): + """ + Test usesTime method from JSONFormatter + """ + json_fmt_asctime = JSONFormatter(json_fields=["asctime", "label"]) + json_fmt_no_asctime = JSONFormatter(json_fields=["label"]) + self.assertTrue(json_fmt_asctime.usesTime()) + self.assertFalse(json_fmt_no_asctime.usesTime()) + def test_format(self): """ Test format method from JSONFormatter