Remove ContextAdapter from logging

Registered by Ben Nemec

Requiring projects to use the ContextAdapter in order to use oslo logging is a problem because it means third party code can't log with the same formatter that oslo-aware code can. We've started moving in the direction of having all the necessary logic from ContextAdapter right in ContextFormatter, but there is more that needs to happen before that will be a reality.

Blueprint information

Status:
Complete
Approver:
Doug Hellmann
Priority:
Medium
Drafter:
Ben Nemec
Direction:
Needs approval
Assignee:
Doug Hellmann
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 0.1.0
Started by
Doug Hellmann
Completed by
Doug Hellmann

Related branches

Sprints

Whiteboard

We need to ensure that all of the defaults set by ContextAdapter.process() are available on ContextFormatter.format() -- dhellmann

We also need to make sure ContextFormatter can handle Message objects (and other unicode-like things) the way ContextAdapter does: https://github.com/openstack/oslo-incubator/blob/master/openstack/common/log.py#L344 -- bnemec

Gerrit topic: https://review.openstack.org/#q,topic:bp/remove-context-adapter,n,z

Addressed by: https://review.openstack.org/95870
    add spec for remove-context-adapter

Addressed by: https://review.openstack.org/110772
    Correct coercion of logged message to unicode

Addressed by: https://review.openstack.org/112135
    Add unicode coercion of logged messages to ContextFormatter

Updating milestone and approval settings prior to kilo. - dhellmann

Updated spec for kilo: https://review.openstack.org/124847

Addressed by: https://review.openstack.org/125160
    Add KeywordArgumentAdapter

Addressed by: https://review.openstack.org/125161
    Move adapter properties to base class

Addressed by: https://review.openstack.org/125162
    Switch from ContextAdapter to ContextFormatter

Addressed by: https://review.openstack.org/125163
    Remove audit log level

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.