)]}'
{"oslo_log/formatters.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6c992e153d9f32927b77696cbf1954b3ef5ea118","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        message[\u0027extra\u0027] \u003d extra"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        if record.exc_info:"},{"line_number":253,"context_line":"            message[\u0027traceback\u0027] \u003d self.formatException(record.exc_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if _HAVE_JSONUTILS_FALLBACK:"},{"line_number":256,"context_line":"            # Bug #1593641: If an object cannot be serialized to JSON, convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_8b873510","line":253,"updated":"2018-01-03 17:10:33.000000000","message":"So this looks like where the full traceback should be coming from, but if record.exc_info was explicitly set to False, it shouldn\u0027t be showing up. But in the wild, we\u0027re seeing tracebacks for LOG.warning (see the LP bug). Not sure what\u0027s going on...","commit_id":"ca53617b4f7f4f4de575bf5f617c8f62f3cf3e17"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0e9ca50c4508e1003765a31a032a309372f79ad7","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        message[\u0027extra\u0027] \u003d extra"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        if record.exc_info:"},{"line_number":253,"context_line":"            message[\u0027traceback\u0027] \u003d self.formatException(record.exc_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if _HAVE_JSONUTILS_FALLBACK:"},{"line_number":256,"context_line":"            # Bug #1593641: If an object cannot be serialized to JSON, convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_a68fd021","line":253,"in_reply_to":"9f91af0f_0669dc89","updated":"2018-01-03 18:03:23.000000000","message":"Ah, that would explain it. I wonder how badly things would break if we changed the way _Remote exceptions worked to separate the summary and traceback there? It might be safer to do some string manipulation here (taking only the first line of the log message, for example).\n\nWhat do you think?","commit_id":"ca53617b4f7f4f4de575bf5f617c8f62f3cf3e17"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e8e6cf3a97949dc8855e070a9d1254d8e7a7755b","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        message[\u0027extra\u0027] \u003d extra"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        if record.exc_info:"},{"line_number":253,"context_line":"            message[\u0027traceback\u0027] \u003d self.formatException(record.exc_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if _HAVE_JSONUTILS_FALLBACK:"},{"line_number":256,"context_line":"            # Bug #1593641: If an object cannot be serialized to JSON, convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_0669dc89","line":253,"in_reply_to":"9f91af0f_8b873510","updated":"2018-01-03 17:56:24.000000000","message":"Did some digging and I think I found what could be causing it. It\u0027s important to note we see this with _Remote exceptions (e.g. ComputeHostNotFound_Remote) that are generated by oslo.messaging.\n\nIt appears that in oslo.messaging the _Remote exceptions are generated with the traceback as part of the exception message [1] and the error_summary ends up outputting the trace because of that.\n\n[1] https://github.com/openstack/oslo.messaging/blob/8d42484/oslo_messaging/_drivers/common.py#L208","commit_id":"ca53617b4f7f4f4de575bf5f617c8f62f3cf3e17"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5a36b21440cbfd14c8f789b076365cd2d3b47c7a","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        message[\u0027extra\u0027] \u003d extra"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        if record.exc_info:"},{"line_number":253,"context_line":"            message[\u0027traceback\u0027] \u003d self.formatException(record.exc_info)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        if _HAVE_JSONUTILS_FALLBACK:"},{"line_number":256,"context_line":"            # Bug #1593641: If an object cannot be serialized to JSON, convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_2656605e","line":253,"in_reply_to":"9f91af0f_a68fd021","updated":"2018-01-03 20:39:39.000000000","message":"Initially I was looking at how to separate message from traceback in oslo.messaging but I\u0027m not 100% sure moving the traceback to a different Exception.args will prevent it from showing up when error_summary does:\n\n error_summary \u003d traceback.format_exception_only(\n                exc_info[0],\n                exc_info[1],\n            )[0].rstrip()\n\non L159. AFAICT in basic testing (doing the above with Exception(\u0027hello\u0027) vs Exception(\u0027hello\u0027, \u0027world\u0027), it looks like it would still show up here because all args to the exception are part of its \"value\" (exc_info[1]).\n\nSo, I was thinking similar as you suggest, doing string manipulation here in the formatters instead.","commit_id":"ca53617b4f7f4f4de575bf5f617c8f62f3cf3e17"}]}
