)]}'
{"oslo_log/formatters.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"a70b2f1030277dc853655d24e5d70f93fc7676e4","unresolved":false,"context_lines":[{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def formatException(self, exc_info, record\u003dNone):"},{"line_number":372,"context_line":"        \"\"\"Format exception output with CONF.logging_exception_prefix.\"\"\""},{"line_number":373,"context_line":"        print(\u0027formatting exception\u0027)"},{"line_number":374,"context_line":"        if not record:"},{"line_number":375,"context_line":"            return logging.Formatter.formatException(self, exc_info)"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5ff73747_4ddaa017","line":373,"updated":"2017-04-24 19:08:25.000000000","message":"Ahhh","commit_id":"4a9c9cb3a94e65ffc34fedd293ffadc30f908d60"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"5913e5314991b0a9ea54846ae5b3662b6f813f6d","unresolved":false,"context_lines":[{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def formatException(self, exc_info, record\u003dNone):"},{"line_number":372,"context_line":"        \"\"\"Format exception output with CONF.logging_exception_prefix.\"\"\""},{"line_number":373,"context_line":"        print(\u0027formatting exception\u0027)"},{"line_number":374,"context_line":"        if not record:"},{"line_number":375,"context_line":"            return logging.Formatter.formatException(self, exc_info)"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5ff73747_cd0d9091","line":373,"in_reply_to":"5ff73747_4ddaa017","updated":"2017-04-24 19:10:27.000000000","message":"Done","commit_id":"4a9c9cb3a94e65ffc34fedd293ffadc30f908d60"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"533cc0b24949b5a8798da182a130cadb6d99c1ab","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            # If we get (None, None, None) because there is no"},{"line_number":374,"context_line":"            # exception, convert it to a simple None to make the logic"},{"line_number":375,"context_line":"            # that uses the value simpler."},{"line_number":376,"context_line":"            if not exc_info[0]:"},{"line_number":377,"context_line":"                exc_info \u003d None"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        if exc_info:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_646a0181","line":376,"updated":"2017-05-18 20:56:26.000000000","message":"maybe just do this inline above.","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b57501715f5e94919d0661d49b93d7685d3e4af0","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            # If we get (None, None, None) because there is no"},{"line_number":374,"context_line":"            # exception, convert it to a simple None to make the logic"},{"line_number":375,"context_line":"            # that uses the value simpler."},{"line_number":376,"context_line":"            if not exc_info[0]:"},{"line_number":377,"context_line":"                exc_info \u003d None"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        if exc_info:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_303c27c7","line":376,"in_reply_to":"ff0f0b1f_1a65c4e1","updated":"2017-05-19 18:09:19.000000000","message":"cool with me","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ceaff8caf74ec1a8fe9922b7970dcd631aa7d924","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            # If we get (None, None, None) because there is no"},{"line_number":374,"context_line":"            # exception, convert it to a simple None to make the logic"},{"line_number":375,"context_line":"            # that uses the value simpler."},{"line_number":376,"context_line":"            if not exc_info[0]:"},{"line_number":377,"context_line":"                exc_info \u003d None"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        if exc_info:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_1a65c4e1","line":376,"in_reply_to":"ff0f0b1f_646a0181","updated":"2017-05-19 16:52:24.000000000","message":"All of this moves around in a later commit. Can we make the changes further down the series?","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"533cc0b24949b5a8798da182a130cadb6d99c1ab","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except TypeError as err:"},{"line_number":400,"context_line":"            # Something went wrong, report that instead so we at least"},{"line_number":401,"context_line":"            # get the error message."},{"line_number":402,"context_line":"            record.msg \u003d \u0027Error formatting log line msg\u003d{!r} err\u003d{!r}\u0027.format("},{"line_number":403,"context_line":"                record.msg, err).replace(\u0027%\u0027, \u0027*\u0027)"},{"line_number":404,"context_line":"            return logging.Formatter.format(self, record)"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_24d88951","line":402,"updated":"2017-05-18 20:56:26.000000000","message":"does this affect discoverability? if we\u0027re prefixing the real log with this error message? maybe it\u0027s better to just keep original log and have another log to capture formatting error separately?","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ceaff8caf74ec1a8fe9922b7970dcd631aa7d924","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except TypeError as err:"},{"line_number":400,"context_line":"            # Something went wrong, report that instead so we at least"},{"line_number":401,"context_line":"            # get the error message."},{"line_number":402,"context_line":"            record.msg \u003d \u0027Error formatting log line msg\u003d{!r} err\u003d{!r}\u0027.format("},{"line_number":403,"context_line":"                record.msg, err).replace(\u0027%\u0027, \u0027*\u0027)"},{"line_number":404,"context_line":"            return logging.Formatter.format(self, record)"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_dafd0cb2","line":402,"in_reply_to":"ff0f0b1f_24d88951","updated":"2017-05-19 16:52:24.000000000","message":"This is error handling when we get a bad log message. It\u0027s only used when we can\u0027t emit the original message.","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"301abe774ee2e7ae1aae1567937e56c4a33c2662","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except TypeError as err:"},{"line_number":400,"context_line":"            # Something went wrong, report that instead so we at least"},{"line_number":401,"context_line":"            # get the error message."},{"line_number":402,"context_line":"            record.msg \u003d \u0027Error formatting log line msg\u003d{!r} err\u003d{!r}\u0027.format("},{"line_number":403,"context_line":"                record.msg, err).replace(\u0027%\u0027, \u0027*\u0027)"},{"line_number":404,"context_line":"            return logging.Formatter.format(self, record)"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_3e7d15e7","line":402,"in_reply_to":"ff0f0b1f_90d65327","updated":"2017-05-19 21:06:54.000000000","message":"I ran into the problem originally when I started trying to change the message to add %(error_summary)s and let the formatter do the substitution, rather than just sticking the formatted error summary on as a suffix like this version does on line 391. The result, in some cases, was a TypeError because not all of the values were being included in the format string properly. In that case, the message is now changed to show the exception text and the original unformatted log message (since we can\u0027t format it).\n\nI\u0027m not sure what you\u0027re suggesting I change that to?","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b57501715f5e94919d0661d49b93d7685d3e4af0","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except TypeError as err:"},{"line_number":400,"context_line":"            # Something went wrong, report that instead so we at least"},{"line_number":401,"context_line":"            # get the error message."},{"line_number":402,"context_line":"            record.msg \u003d \u0027Error formatting log line msg\u003d{!r} err\u003d{!r}\u0027.format("},{"line_number":403,"context_line":"                record.msg, err).replace(\u0027%\u0027, \u0027*\u0027)"},{"line_number":404,"context_line":"            return logging.Formatter.format(self, record)"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0f0b1f_90d65327","line":402,"in_reply_to":"ff0f0b1f_dafd0cb2","updated":"2017-05-19 18:09:19.000000000","message":"is the reason we can\u0027t emit original message because of oslo.log formatting or because the originating log is bad itself? if former, i think we should leave original log alone but i\u0027m pretty indifferent.","commit_id":"48d284a9856dbaeb2890154bb71abc55dd0bee7a"}]}
