)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"12cb8df3ed4a71fdf0b01a035cd9f3b11d021da9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"use \u0027exc_info\u003dTrue\u0027 instead of import traceback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need store traceback message in log sometime. Python logging module"},{"line_number":10,"context_line":"already provide a argument to do that. For example, we could:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"logger.error(\u0027msg\u0027, exc_info\u003dTrue)"},{"line_number":13,"context_line":"logger.debug(e, exc_info\u003dTrue)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAQn%2F%2Fgg8%3D","line":10,"updated":"2013-07-30 02:24:11.000000000","message":"This needs a better commit message. Please treat the commit message as a long term documentation for this change, and why this change is correct","commit_id":"8314a53a6aa6539ee7e1759edeaa31d324374d11"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a52fd87b35ab090f962e219afb50d74a9b7146b0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"use \u0027exc_info\u003dTrue\u0027 instead of import traceback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need log traceback message sometime, but pepole who ignore \u0027exc_info\u0027"},{"line_number":10,"context_line":"argument would import traceback for get traceback message. This work is"},{"line_number":11,"context_line":"already done by \u0027exc_info\u0027 in logging module. For example:"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAQn%2F%2FejI%3D","line":9,"updated":"2013-07-30 15:27:15.000000000","message":"people*","commit_id":"a88daea0ba26acf5370f7114879d2f4479413501"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a52fd87b35ab090f962e219afb50d74a9b7146b0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"use \u0027exc_info\u003dTrue\u0027 instead of import traceback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need log traceback message sometime, but pepole who ignore \u0027exc_info\u0027"},{"line_number":10,"context_line":"argument would import traceback for get traceback message. This work is"},{"line_number":11,"context_line":"already done by \u0027exc_info\u0027 in logging module. For example:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"logger.error(\u0027msg\u0027, exc_info\u003dTrue)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAQn%2F%2FejE%3D","line":10,"updated":"2013-07-30 15:27:15.000000000","message":"getting*","commit_id":"a88daea0ba26acf5370f7114879d2f4479413501"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a52fd87b35ab090f962e219afb50d74a9b7146b0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"logger.error(\u0027msg\u0027, exc_info\u003dTrue)"},{"line_number":14,"context_line":"                                  # exc_info evaluate as true and log"},{"line_number":15,"context_line":"                                      message from sys.exc_info()"},{"line_number":16,"context_line":"logger.debug(\u0027msg\u0027, exc_info\u003d(type, vlaue, traceback))"},{"line_number":17,"context_line":"                                  # exc_info evaluate as an exception"},{"line_number":18,"context_line":"                                    tuple and log message from this"},{"line_number":19,"context_line":"                                    tuple"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAQn%2F%2Fejk%3D","line":16,"updated":"2013-07-30 15:27:15.000000000","message":"value*","commit_id":"a88daea0ba26acf5370f7114879d2f4479413501"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a52fd87b35ab090f962e219afb50d74a9b7146b0","unresolved":false,"context_lines":[{"line_number":18,"context_line":"                                    tuple and log message from this"},{"line_number":19,"context_line":"                                    tuple"},{"line_number":20,"context_line":"logger.exception(\u0027msg\u0027)"},{"line_number":21,"context_line":"                                  # exception add exc_info\u003d1 automaticly"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I9e1caf05fcf06bb977597076ebe278b593d70bf4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAQn%2F%2Fejg%3D","line":21,"updated":"2013-07-30 15:27:15.000000000","message":"automatically*","commit_id":"a88daea0ba26acf5370f7114879d2f4479413501"}],"keystone/common/logging.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c719bca81027e516fa0b7d0e55edb4d80bda1ad1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        try:"},{"line_number":78,"context_line":"            return f(*args, **kw)"},{"line_number":79,"context_line":"        except Exception as e:"},{"line_number":80,"context_line":"            # tracebacks are kept in the debug log by exc_info keyword"},{"line_number":81,"context_line":"            logging.debug(e, exc_info\u003d1)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            # exception message is printed to all logs"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FmaM%3D","line":80,"updated":"2013-07-26 19:22:14.000000000","message":"you could just remove this comment","commit_id":"bf2157fc536b4cbcce83f54668ce24959253d662"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3deac73cc71c36fbdbf574061fd1cba34c90a96d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            return f(*args, **kw)"},{"line_number":79,"context_line":"        except Exception as e:"},{"line_number":80,"context_line":"            # tracebacks are kept in the debug log by exc_info keyword"},{"line_number":81,"context_line":"            logging.debug(e, exc_info\u003d1)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            # exception message is printed to all logs"},{"line_number":84,"context_line":"            logging.critical(e)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2Fmic%3D","line":81,"updated":"2013-07-26 18:28:32.000000000","message":"does this have to be 1? I think True would be a little more obvious. (1 indicates that maybe you could pass 2 and it would do something different)","commit_id":"bf2157fc536b4cbcce83f54668ce24959253d662"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"ef48423437e63a123c28b4e904fdb0b9aa4aee60","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            return f(*args, **kw)"},{"line_number":79,"context_line":"        except Exception as e:"},{"line_number":80,"context_line":"            # tracebacks are kept in the debug log by exc_info keyword"},{"line_number":81,"context_line":"            logging.debug(e, exc_info\u003d1)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            # exception message is printed to all logs"},{"line_number":84,"context_line":"            logging.critical(e)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2Flnc%3D","line":81,"in_reply_to":"AAAAQn%2F%2FmaU%3D","updated":"2013-07-27 02:44:39.000000000","message":"@Dolph logging_mudole_path/logging/__init__.py Logger.exception(self, ...), you could find it, but I think you and @Brant are right, exc_info\u003dTrue is more obviout","commit_id":"bf2157fc536b4cbcce83f54668ce24959253d662"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c719bca81027e516fa0b7d0e55edb4d80bda1ad1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            return f(*args, **kw)"},{"line_number":79,"context_line":"        except Exception as e:"},{"line_number":80,"context_line":"            # tracebacks are kept in the debug log by exc_info keyword"},{"line_number":81,"context_line":"            logging.debug(e, exc_info\u003d1)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            # exception message is printed to all logs"},{"line_number":84,"context_line":"            logging.critical(e)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FmaU%3D","line":81,"in_reply_to":"AAAAQn%2F%2Fmic%3D","updated":"2013-07-26 19:22:14.000000000","message":"+1; i couldn\u0027t actually find an example in the docs that wasn\u0027t receiving a tuple, but the convention is certainly to pass exc_info\u003dTrue","commit_id":"bf2157fc536b4cbcce83f54668ce24959253d662"}]}
