kazanzhy commented on a change in pull request #20355:
URL: https://github.com/apache/airflow/pull/20355#discussion_r775031540
##########
File path: airflow/utils/log/logging_mixin.py
##########
@@ -38,17 +39,15 @@ class LoggingMixin:
"""Convenience super-class to have a logger configured with the class
name"""
def __init__(self, context=None):
+ self._log: Optional[logging.Logger] = None
self._set_context(context)
@property
def log(self) -> Logger:
"""Returns a logger."""
- try:
- # FIXME: LoggingMixin should have a default _log field.
- return self._log # type: ignore
- except AttributeError:
+ if not hasattr(self, '_log') or self._log is None:
Review comment:
Done
The advantage of this solution will be the absence of usage `hasattr`
function and all child classes will have `_log` attribute.
Firstly I thought that if the child class doesn't use `.log` then `_log`
attribute just will allocate memory useless. But then I realized that I don't
see a reason to inherit from `LoggingMixin` and not use `.log`.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]