Simpler reading of kwargs values!

This::

    value = adict.get(key, default)

is semantically equivalent to

    if key in adict:
        value = adict[key]
    else:
        value = default

It is also faster ;-)
Optimize attr fetching

Assign duplicate calls to variables, especially computed dict keys or default values for dict.get().
Don't "return log.error(value)" - it's confusing

Explicitely return nothing: logger.log does not return a useful value
Explicitely lg that some data was lost.
Merge pull request #16829 from feth/pythonicization

Small pythonic rewites & optim