Opmitise LoggingMixin.log (#17280)
Opmitise LoggingMixin.log (#17280)

The log instance is now instantiated per class, instead of per instance,
saving duplicated getLogger() calls. Those getLogger() calls would
return the same logger instance anyway, so the functionality is
effectively the same; only the function call overhead os saved.

The self.log property is also converted to a cached_property, so the
'is None' check would only happen once per instance, instead of every
time the property is accessed.
mistercrunch/airflow,lyft/incubator-airflow,apache/airflow,bolkedebruin/airflow,danielvdende/incubator-airflow,bolkedebruin/airflow,cfei18/incubator-airflow,nathanielvarona/airflow,nathanielvarona/airflow,apache/airflow,apache/incubator-airflow,bolkedebruin/airflow,mistercrunch/airflow,lyft/incubator-airflow,cfei18/incubator-airflow,mistercrunch/airflow,danielvdende/incubator-airflow,lyft/incubator-airflow,bolkedebruin/airflow,danielvdende/incubator-airflow,Acehaidrey/incubator-airflow,danielvdende/incubator-airflow,Acehaidrey/incubator-airflow,bolkedebruin/airflow,Acehaidrey/incubator-airflow,Acehaidrey/incubator-airflow,cfei18/incubator-airflow,nathanielvarona/airflow,apache/incubator-airflow,lyft/incubator-airflow,nathanielvarona/airflow,apache/airflow,cfei18/incubator-airflow,apache/incubator-airflow,Acehaidrey/incubator-airflow,danielvdende/incubator-airflow,nathanielvarona/airflow,apache/incubator-airflow,apache/airflow,mistercrunch/airflow,nathanielvarona/airflow,cfei18/incubator-airflow,Acehaidrey/incubator-airflow,apache/airflow,cfei18/incubator-airflow,apache/airflow,danielvdende/incubator-airflow