)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4f81f493d99c63df949a5773cf9700b8508b6c4f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Roman Vasilets \u003crvasilets@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-16 14:18:11 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"I have extract debug logging output to a separate function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I9f1761a5332ad3c4a8f0b76c6f46fc687fd61aa5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_3b2ab1e7","line":7,"updated":"2014-07-17 09:50:47.000000000","message":"Extract logging setup into a separate function","commit_id":"51969a2df910463aca9b95c9c151743dc634521c"}],"oslo/db/sqlalchemy/session.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4f81f493d99c63df949a5773cf9700b8508b6c4f","unresolved":false,"context_lines":[{"line_number":631,"context_line":"        raise exception.DBConnectionError(error)"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":""},{"line_number":634,"context_line":"def create_engine_connection_debug(connection_debug\u003d0):"},{"line_number":635,"context_line":"    if connection_debug \u003e\u003d 0:"},{"line_number":636,"context_line":"        # Map SQL debug level to Python log level"},{"line_number":637,"context_line":"        logger \u003d logging.getLogger(\u0027sqlalchemy.engine\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3b78f1f7","line":634,"updated":"2014-07-17 09:50:47.000000000","message":"let\u0027s rename it to something like: setup_logging()","commit_id":"51969a2df910463aca9b95c9c151743dc634521c"},{"author":{"_account_id":12363,"name":"Oleksii Chuprykov","email":"a.chuprikoff@gmail.com","username":"ochuprykov"},"change_message_id":"ddd97b5ddd840bd8ed794ca43086e57f72230e6c","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        \u0027convert_unicode\u0027: True,"},{"line_number":659,"context_line":"    }"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    create_engine_connection_debug(connection_debug\u003d0)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    if \"sqlite\" in connection_dict.drivername:"},{"line_number":664,"context_line":"        if sqlite_fk:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_de970e39","line":661,"updated":"2014-07-16 13:14:31.000000000","message":"Why do you call the function with connection_debug\u003d0?","commit_id":"51969a2df910463aca9b95c9c151743dc634521c"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4f81f493d99c63df949a5773cf9700b8508b6c4f","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        \u0027convert_unicode\u0027: True,"},{"line_number":659,"context_line":"    }"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    create_engine_connection_debug(connection_debug\u003d0)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    if \"sqlite\" in connection_dict.drivername:"},{"line_number":664,"context_line":"        if sqlite_fk:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3b5f1177","line":661,"in_reply_to":"baada198_de970e39","updated":"2014-07-17 09:50:47.000000000","message":"agreed, let\u0027s just pass connection_debug","commit_id":"51969a2df910463aca9b95c9c151743dc634521c"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"3b9dc4c03420809e1b5a692e30ac098ee59e22dd","unresolved":false,"context_lines":[{"line_number":631,"context_line":"        raise exception.DBConnectionError(error)"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":""},{"line_number":634,"context_line":"def setup_logging(connection_debug\u003d0):"},{"line_number":635,"context_line":"    if connection_debug \u003e\u003d 0:"},{"line_number":636,"context_line":"        # Map SQL debug level to Python log level"},{"line_number":637,"context_line":"        logger \u003d logging.getLogger(\u0027sqlalchemy.engine\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_91260eb9","line":634,"updated":"2014-07-18 09:16:47.000000000","message":"As this method is going to be a part of module public API, let\u0027s add a good docstring describing what is going on here and what the connection_debug value means (good reference: http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#configuring-logging)","commit_id":"90b9393ed81fe910079b4f74b080f1f597998e4b"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"14ba622709ce36084f7070698665a6f9bd978dab","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    _mysql_check_effective_sql_mode(engine)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"def setup_logging(connection_debug\u003d0):"},{"line_number":420,"context_line":"    \"\"\"setup_logging function maps SQL debug level to Python log level."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    Connection_debug is a verbosity of SQL debugging information."}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_d9983678","line":419,"updated":"2014-08-12 16:14:53.000000000","message":"Oh, also this should probably be a private method if we\u0027re going to split it out like this.","commit_id":"26c4a38820e47c6fb6388ecaf23fcf55b2ba7a13"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"601d8015125b98e6f98158f075bf7ee4d461d251","unresolved":false,"context_lines":[{"line_number":420,"context_line":"    \"\"\"setup_logging function maps SQL debug level to Python log level."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    Connection_debug is a verbosity of SQL debugging information."},{"line_number":423,"context_line":"    -1\u003dOff, 0\u003dNone, 100\u003dEverything (defaults to 0)"},{"line_number":424,"context_line":"    \"\"\""},{"line_number":425,"context_line":"    if connection_debug \u003e\u003d 0:"},{"line_number":426,"context_line":"        logger \u003d logging.getLogger(\u0027sqlalchemy.engine\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_3a818ffa","line":423,"updated":"2014-08-08 15:45:09.000000000","message":"Is this describing the SQL logging settings?  This doesn\u0027t seem like the place to do that.  The docstring should explain how the numbers map to Python logging, since that\u0027s what this function is doing.\n\nAlso, having \"off\" and \"None\" is confusing.  What is the difference?\n\nAlso also, it would be nice to document this in a sphinxy way, i.e.\n\n  :param connection_debug: The configured SQL debug level.  This will be mapped to a Python logging level based on the following rules:\n    -1: ...\n    0: ...\n    50: ...\n    100: ...","commit_id":"26c4a38820e47c6fb6388ecaf23fcf55b2ba7a13"},{"author":{"_account_id":12363,"name":"Oleksii Chuprykov","email":"a.chuprikoff@gmail.com","username":"ochuprykov"},"change_message_id":"a0cc396bc4b1f486d6e3ed9ca91eb8ecffe1f137","unresolved":false,"context_lines":[{"line_number":420,"context_line":"    \"\"\"setup_logging function maps SQL debug level to Python log level."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    Connection_debug is a verbosity of SQL debugging information."},{"line_number":423,"context_line":"    -1\u003dOff, 0\u003dNone, 100\u003dEverything (defaults to 0)"},{"line_number":424,"context_line":"    \"\"\""},{"line_number":425,"context_line":"    if connection_debug \u003e\u003d 0:"},{"line_number":426,"context_line":"        logger \u003d logging.getLogger(\u0027sqlalchemy.engine\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_e9055079","line":423,"in_reply_to":"baada198_3a818ffa","updated":"2014-08-11 22:03:27.000000000","message":"seems that this code is self-documented. I have no reason why we have to document this.","commit_id":"26c4a38820e47c6fb6388ecaf23fcf55b2ba7a13"}]}
