)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"42fff1a5b4bb186f9921ceb4ec74e111dd2f7f59","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Use new log style where Logger.exception() is used by passing an"},{"line_number":10,"context_line":"exception object as the first argument[1]."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] http://docs.openstack.org/developer/oslo.log/usage.html"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I854d6ba9ca6b9d004bbd6963f0cfc5a8c54c1405"},{"line_number":15,"context_line":"Closes-Bug: #1529534"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a7b0d38_70569ccf","line":12,"updated":"2015-12-28 09:09:11.000000000","message":"The message is not so clear at first glimpse. What do you mean the new style. I guess you are talking about this from your code:\n\nhttp://docs.openstack.org/developer/oslo.log/usage.html#no-more-implicit-conversion-to-unicode-str\n\nThis asks projects to convert exception to unicode before passing to exception()","commit_id":"e2ea034041aa9ad0171d7f74f2aa19d69c5575ae"}],"ironicclient/common/http.py":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"b8374ec47c6fd7855c67b932f7786e432cf614dc","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                           \"Attempt %(attempt)d of %(total)d\") %"},{"line_number":185,"context_line":"                       {\u0027attempt\u0027: attempt,"},{"line_number":186,"context_line":"                        \u0027total\u0027: num_attempts,"},{"line_number":187,"context_line":"                        \u0027error\u0027: six.text_type(error)})"},{"line_number":188,"context_line":"                if attempt \u003d\u003d num_attempts:"},{"line_number":189,"context_line":"                    LOG.error(msg)"},{"line_number":190,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_b9dcdb73","line":187,"updated":"2015-12-29 00:33:53.000000000","message":"hmmm, but I think this is useful.","commit_id":"e2ea034041aa9ad0171d7f74f2aa19d69c5575ae"}],"ironicclient/common/utils.py":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"42fff1a5b4bb186f9921ceb4ec74e111dd2f7f59","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        val \u003d strutils.bool_from_string(bool_str, strict, default)"},{"line_number":286,"context_line":"    except ValueError as e:"},{"line_number":287,"context_line":"        raise exc.CommandError(_(\"argument %(arg)s: %(err)s.\")"},{"line_number":288,"context_line":"                               % {\u0027arg\u0027: arg_name, \u0027err\u0027: six.text_type(e)})"},{"line_number":289,"context_line":"    return val"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_b0288487","line":288,"updated":"2015-12-28 09:09:11.000000000","message":"This only raises an exception which will not be logged using exception() or error(). So I doubt the necessary to do convert it here.","commit_id":"e2ea034041aa9ad0171d7f74f2aa19d69c5575ae"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"d4909b57b7427be9aa5720314561a150ca88d429","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        val \u003d strutils.bool_from_string(bool_str, strict, default)"},{"line_number":286,"context_line":"    except ValueError as e:"},{"line_number":287,"context_line":"        raise exc.CommandError(_(\"argument %(arg)s: %(err)s.\")"},{"line_number":288,"context_line":"                               % {\u0027arg\u0027: arg_name, \u0027err\u0027: six.text_type(e)})"},{"line_number":289,"context_line":"    return val"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_769d3409","line":288,"in_reply_to":"1a7b0d38_b0288487","updated":"2015-12-28 10:41:02.000000000","message":"You\u0027re right. There is no logging here. \u003e_\u003c","commit_id":"e2ea034041aa9ad0171d7f74f2aa19d69c5575ae"}],"ironicclient/v1/node.py":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"42fff1a5b4bb186f9921ceb4ec74e111dd2f7f59","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                maintenance_mode \u003d strutils.bool_from_string(state, True)"},{"line_number":244,"context_line":"            except ValueError as e:"},{"line_number":245,"context_line":"                raise exc.InvalidAttribute(_(\"Argument \u0027state\u0027: %(err)s\") %"},{"line_number":246,"context_line":"                                           {\u0027err\u0027: six.text_type(e)})"},{"line_number":247,"context_line":"        path \u003d \"%s/maintenance\" % node_id"},{"line_number":248,"context_line":"        if maintenance_mode:"},{"line_number":249,"context_line":"            reason \u003d {\u0027reason\u0027: maint_reason}"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_503a80cd","line":246,"updated":"2015-12-28 09:09:11.000000000","message":"ditto","commit_id":"e2ea034041aa9ad0171d7f74f2aa19d69c5575ae"}]}
