Log request_id for each api call
Blueprint [1] is up for review in the last Mitaka release cycle which returns request_id back to the caller
as per design proposed in the cross-project specs [2]. Now, in step 2, we would like to log x-openstack-
request-id returned in the response header using the python logging module.
Following log message will be logged in debug logging level.
LOG.debug(
"used request_id '%(response_
{"method": resp.request.
"my_
"my_url": resp.url, "response_
method: HTTP request method (GET/POST/
my_service_name: Name of service processing the request (keystone or
my_url: Request URL with endpoint
response_
The log messages logged by the log handlers would be dependant on how the root loggers are configured.
1. python-
In this case, the root loggers will be configured in the client itself.
So if --debug flag is passed in the command, then following log message will be shown on console:-
DEBUG:keystonec
http://
used request id req-9dd9ffc4-
Nothing will be logged on console if --debug flag is not set.
2. python-
In this case, when another component calls apis of Keystone service using python-
message for get server api will be logged in another component's log file:-
DEBUG keystoneclient.
GET call to 'keystone' for GET http://
used request_id 'req-33821d15-
In the above log message, you will see both nova (callee) and keystone (caller) request_ids are logged in the
same log message. This is because, the root loggers are configured in Nova and the same will be used by
the client as well. Since nova uses oslo.log library, it internally logs request_id using ContextFormatter
configured in the "formatter_context" section of the nova configuration file.
References:
[1] https:/
[2] http://
Mailing List discussion:
http://
Blueprint information
- Status:
- Complete
- Approver:
- Steve Martinelli
- Priority:
- Medium
- Drafter:
- Maho Koshiya
- Direction:
- Approved
- Assignee:
- Maho Koshiya
- Definition:
- New
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Steve Martinelli
- Completed by
- Steve Martinelli
Related branches
Related bugs
Sprints
Whiteboard
(stevemar) This was fixed by https:/
Gerrit topic: https:/
Addressed by: https:/
Log request-id for each api call