)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1efb462be6af93726d13ff91ae5dcd80d3d66af8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Because tempest uses stdout to return outputs (like for example"},{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_47477c78","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":27},"updated":"2018-04-11 21:45:04.000000000","message":"nit: s/found/find/","commit_id":"2c6a72ad553830eb9e093fbf0e1e5f7b6e8ad261"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1efb462be6af93726d13ff91ae5dcd80d3d66af8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I98e75ed52f754a45d0774067fd1713bee2cecb64"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_8736f402","line":13,"range":{"start_line":13,"start_character":47,"end_line":13,"end_character":51},"updated":"2018-04-11 21:45:04.000000000","message":"s/make/makes/","commit_id":"2c6a72ad553830eb9e093fbf0e1e5f7b6e8ad261"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d1ffdc81f18e1f267d6d7c08a8eee6534cf3fb0f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Because tempest uses stdout to return outputs (like for example"},{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5f7c97a3_8014894e","line":12,"updated":"2018-06-12 06:09:51.000000000","message":"very nit: s/found/find","commit_id":"0195aa562edb8a640ad3ef9c11eac819b9192be8"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"d034ad3dbfb16d2b738ef8bd064aa31665c46c02","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Because tempest uses stdout to return outputs (like for example"},{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5f7c97a3_16a51503","line":12,"in_reply_to":"5f7c97a3_8014894e","updated":"2018-06-12 16:30:25.000000000","message":"Done","commit_id":"0195aa562edb8a640ad3ef9c11eac819b9192be8"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d1ffdc81f18e1f267d6d7c08a8eee6534cf3fb0f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I98e75ed52f754a45d0774067fd1713bee2cecb64"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5f7c97a3_200d753d","line":13,"updated":"2018-06-12 06:09:51.000000000","message":"very nit: s/make/makes","commit_id":"0195aa562edb8a640ad3ef9c11eac819b9192be8"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"d034ad3dbfb16d2b738ef8bd064aa31665c46c02","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to list tests) it should never write logging lines to it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If in oslo.log cannot found a valid destination in conf where to write"},{"line_number":13,"context_line":"log messages it choses stdout. This workaround make oslo.log to choose"},{"line_number":14,"context_line":"stderr instead of stdout on such case."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I98e75ed52f754a45d0774067fd1713bee2cecb64"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5f7c97a3_b6af81e1","line":13,"in_reply_to":"5f7c97a3_200d753d","updated":"2018-06-12 16:30:25.000000000","message":"Done","commit_id":"0195aa562edb8a640ad3ef9c11eac819b9192be8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"fd3191c6cdc7938e981382fcefb624aa325f76c4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"You can see the oslo.log code doing it at below link:"},{"line_number":19,"context_line":"  https://github.com/openstack/oslo.log/blob/215cc3a8ec5cb61a365a98d731d08ae2f13d46d1/oslo_log/log.py#L364-L369"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This workaround ensures oslo.log will setup a logging.StreamHandler"},{"line_number":22,"context_line":"with STDERR stream instead of STDOUT stream when no other logging"},{"line_number":23,"context_line":"handler has been configured."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I98e75ed52f754a45d0774067fd1713bee2cecb64"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":60,"id":"3f79a3b5_04e0e9f8","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":28},"updated":"2018-11-02 21:20:46.000000000","message":"This is no longer true.","commit_id":"ac15dd7bfd329ad843481785f39c113154212e1a"}],"releasenotes/notes/forbid-log-to-write-to-stdout-6fccf933cdeeec79.yaml":[{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"4fbfcb78c9df6f51d34c0faae0e208f700c2c078","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Ensure that oslo_log always uses STDERR insteado of STDOUT when has to"},{"line_number":5,"context_line":"    write logging messages."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"5f7c97a3_8ffbf679","line":4,"range":{"start_line":4,"start_character":44,"end_line":4,"end_character":52},"updated":"2018-06-28 11:22:42.000000000","message":"nit: \u0027s/insteado/instead/g\u0027","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"ccef0f1ede0f017da07d28b479c311f4032cb523","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Ensure that oslo_log always uses STDERR insteado of STDOUT when has to"},{"line_number":5,"context_line":"    write logging messages."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"5f7c97a3_f27d5c6d","line":4,"range":{"start_line":4,"start_character":44,"end_line":4,"end_character":52},"in_reply_to":"5f7c97a3_8ffbf679","updated":"2018-07-04 14:04:24.000000000","message":"Done","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"}],"releasenotes/notes/forbid-logging-to-stdout-931e166709c62ab7.yaml":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"015032d15126ea36cda5902b64658be5608c901a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Forbid tempest to write log messages to stdout when no other destination"},{"line_number":4,"context_line":"    has been specified."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":44,"id":"3f79a3b5_6bd4d3e9","line":2,"updated":"2018-08-23 02:50:05.000000000","message":"I think this prelude is not necessary because this section is for high level details about the release.","commit_id":"8fc95210dc12f79dbcb6279444bf8e3e43a8f1c4"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"c3310da09e473b715962841953d7e9d06f816e60","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Forbid tempest to write log messages to stdout when no other destination"},{"line_number":4,"context_line":"    has been specified."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":44,"id":"3f79a3b5_47a1c3f7","line":2,"in_reply_to":"3f79a3b5_6bd4d3e9","updated":"2018-08-23 08:32:02.000000000","message":"Done","commit_id":"8fc95210dc12f79dbcb6279444bf8e3e43a8f1c4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"fd3191c6cdc7938e981382fcefb624aa325f76c4","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"fixes:"},{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    Ensures oslo.log will setup a logging.StreamHandler"},{"line_number":25,"context_line":"    with STDERR stream instead of STDOUT stream when no other logging"},{"line_number":26,"context_line":"    handler has been configured."}],"source_content_type":"text/x-yaml","patch_set":60,"id":"3f79a3b5_c4e991e4","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":32},"updated":"2018-11-02 21:20:46.000000000","message":"This is no longer true.","commit_id":"ac15dd7bfd329ad843481785f39c113154212e1a"}],"tempest/config.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1efb462be6af93726d13ff91ae5dcd80d3d66af8","unresolved":false,"context_lines":[{"line_number":1175,"context_line":"        try:"},{"line_number":1176,"context_line":"            logging.setup(_CONF, \u0027tempest\u0027)"},{"line_number":1177,"context_line":"        finally:"},{"line_number":1178,"context_line":"            sys.stdout \u003d original_stdout"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"        LOG \u003d logging.getLogger(\u0027tempest\u0027)"},{"line_number":1181,"context_line":"        LOG.info(\"Using tempest config file %s\", path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_eaf8d7c4","line":1178,"updated":"2018-04-11 21:45:04.000000000","message":"TBH, I cannot understand this change.\nThis change switches stdout to stderr temporary during the logging.setup() and switches back after the setup().\nHowever, LOG is still used after the switch-back and I guess the logs are still mixed.\n\nIs that intentional?","commit_id":"2c6a72ad553830eb9e093fbf0e1e5f7b6e8ad261"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"aaead45304ec0193b08b4d2b1f5330dd98bba571","unresolved":false,"context_lines":[{"line_number":1175,"context_line":"        try:"},{"line_number":1176,"context_line":"            logging.setup(_CONF, \u0027tempest\u0027)"},{"line_number":1177,"context_line":"        finally:"},{"line_number":1178,"context_line":"            sys.stdout \u003d original_stdout"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"        LOG \u003d logging.getLogger(\u0027tempest\u0027)"},{"line_number":1181,"context_line":"        LOG.info(\"Using tempest config file %s\", path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_30cdd1b6","line":1178,"in_reply_to":"bf659307_eaf8d7c4","updated":"2018-04-12 08:41:54.000000000","message":"Yes it is intentional. I am going to add a comment to explain it","commit_id":"2c6a72ad553830eb9e093fbf0e1e5f7b6e8ad261"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3e231b691b229b8ab3d36225fb7cd0cc126b5bd5","unresolved":false,"context_lines":[{"line_number":1180,"context_line":"            # if logging conf is in place we need to set log_config_append"},{"line_number":1181,"context_line":"            _CONF.log_config_append \u003d logging_cfg_path"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        logpath \u003d logging._get_log_file_path(_CONF)"},{"line_number":1184,"context_line":"        if not logpath and not _CONF.use_stderr and not _CONF.use_journal:"},{"line_number":1185,"context_line":"            # Because tempest uses STDOUT stream to return outputs (like for"},{"line_number":1186,"context_line":"            # example to list test names), tempest should never write logging"}],"source_content_type":"text/x-python","patch_set":51,"id":"3f79a3b5_cac8e957","line":1183,"range":{"start_line":1183,"start_character":26,"end_line":1183,"end_character":44},"updated":"2018-09-12 03:54:09.000000000","message":"We should avoid use private functions; is there no public version?","commit_id":"6747205964ae316076fab2127d1b69d6aaf1bf7c"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"3bf7de077c78ea1a15e4f3ab262aab0add596c4f","unresolved":false,"context_lines":[{"line_number":1180,"context_line":"            # if logging conf is in place we need to set log_config_append"},{"line_number":1181,"context_line":"            _CONF.log_config_append \u003d logging_cfg_path"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        logpath \u003d logging._get_log_file_path(_CONF)"},{"line_number":1184,"context_line":"        if not logpath and not _CONF.use_stderr and not _CONF.use_journal:"},{"line_number":1185,"context_line":"            # Because tempest uses STDOUT stream to return outputs (like for"},{"line_number":1186,"context_line":"            # example to list test names), tempest should never write logging"}],"source_content_type":"text/x-python","patch_set":51,"id":"3f79a3b5_a262feab","line":1183,"range":{"start_line":1183,"start_character":26,"end_line":1183,"end_character":44},"in_reply_to":"3f79a3b5_cac8e957","updated":"2018-10-01 06:56:02.000000000","message":"There is not. The bug I am warking around here is based on reproducing a mis-behaviour of oslo.log library that doesn\u0027t apply to the case of a command (like tempest list) that uses stdout to format some output (when it is not required neither desired). To reproduce the same condition when the problem happens I am using the same code, so that if the affecting code changes we will see this breaking and remove this patch anyway. I know this is a dirty way to fix this but I tried other more clean ways and they where all rejected. See the log of this patch please. This is a very stupid problem and the first solution I proposed was absolutely the simplest and more robust but it was rejected for no real reasons, so I tried others as this one and I am frankly tired. This change is absolutely not important, but it is required by the other fix I proposed that is for a real tempest bug. Please take a decision an let me know what to do with this. After many months working on this very simple code I think is absurd I continue working on this without any help from core developers. Please tell me what do you really want and I\u0027ll do.","commit_id":"6747205964ae316076fab2127d1b69d6aaf1bf7c"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3e231b691b229b8ab3d36225fb7cd0cc126b5bd5","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"            _CONF.log_config_append \u003d logging_cfg_path"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        logpath \u003d logging._get_log_file_path(_CONF)"},{"line_number":1184,"context_line":"        if not logpath and not _CONF.use_stderr and not _CONF.use_journal:"},{"line_number":1185,"context_line":"            # Because tempest uses STDOUT stream to return outputs (like for"},{"line_number":1186,"context_line":"            # example to list test names), tempest should never write logging"},{"line_number":1187,"context_line":"            # lines to STDOUT stream. It should use STDERR instead."}],"source_content_type":"text/x-python","patch_set":51,"id":"3f79a3b5_8ac2f133","line":1184,"range":{"start_line":1184,"start_character":8,"end_line":1184,"end_character":74},"updated":"2018-09-12 03:54:09.000000000","message":"This seems too implementation-specific as it mirrors the same condition in https://github.com/openstack/oslo.log/blob/215cc3a8ec5cb61a365a98d731d08ae2f13d46d1/oslo_log/log.py#L364-L369\n\nI think it would be better to add a public helper function that could be invoked in oslo.log so that if the implementation in oslo.log changes then we won\u0027t have to fix it here.","commit_id":"6747205964ae316076fab2127d1b69d6aaf1bf7c"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"3bf7de077c78ea1a15e4f3ab262aab0add596c4f","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"            _CONF.log_config_append \u003d logging_cfg_path"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        logpath \u003d logging._get_log_file_path(_CONF)"},{"line_number":1184,"context_line":"        if not logpath and not _CONF.use_stderr and not _CONF.use_journal:"},{"line_number":1185,"context_line":"            # Because tempest uses STDOUT stream to return outputs (like for"},{"line_number":1186,"context_line":"            # example to list test names), tempest should never write logging"},{"line_number":1187,"context_line":"            # lines to STDOUT stream. It should use STDERR instead."}],"source_content_type":"text/x-python","patch_set":51,"id":"3f79a3b5_e26316aa","line":1184,"range":{"start_line":1184,"start_character":8,"end_line":1184,"end_character":74},"in_reply_to":"3f79a3b5_8ac2f133","updated":"2018-10-01 06:56:02.000000000","message":"Do you propose to fix the problem in oslo-lib? this would make this depending on new version of oslo-lib. Therefore I could not work in some cases. It is fine to me as this change is only required to pass some tests in another change and this is a very secondary problem. Please let me know it is what do you want.\nThanks","commit_id":"6747205964ae316076fab2127d1b69d6aaf1bf7c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"ab7b490a16a7c9caf66317db68dce53c85b09eff","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"        self.scenario \u003d _CONF.scenario"},{"line_number":1127,"context_line":"        self.service_available \u003d _CONF.service_available"},{"line_number":1128,"context_line":"        self.debug \u003d _CONF.debug"},{"line_number":1129,"context_line":"        logging.tempest_set_log_file(\u0027tempest.log\u0027)"},{"line_number":1130,"context_line":"        # Setting attributes for plugins"},{"line_number":1131,"context_line":"        # NOTE(andreaf) Plugins have no access to the TempestConfigPrivate"},{"line_number":1132,"context_line":"        # instance at discovery time, so they have no way of setting these"}],"source_content_type":"text/x-python","patch_set":57,"id":"3f79a3b5_404cad74","line":1129,"updated":"2018-10-19 10:36:06.000000000","message":"Here is how the default destination set.","commit_id":"6cc184a5c8c8bd59495ee4a75906d867919cae1f"}],"tempest/lib/common/log_handlers.py":[{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"4fbfcb78c9df6f51d34c0faae0e208f700c2c078","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"def fix_log_handlers():"},{"line_number":67,"context_line":"    \"\"\"Patches handlers classes to write to STDERR instead of STDOUT"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Affected hablder classes:"},{"line_number":70,"context_line":"        - logging.StreamHandler"}],"source_content_type":"text/x-python","patch_set":33,"id":"5f7c97a3_cfeb2e79","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":23},"updated":"2018-06-28 11:22:42.000000000","message":"nit: \u0027s/handlers/handler/g\u0027","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"ccef0f1ede0f017da07d28b479c311f4032cb523","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"def fix_log_handlers():"},{"line_number":67,"context_line":"    \"\"\"Patches handlers classes to write to STDERR instead of STDOUT"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Affected hablder classes:"},{"line_number":70,"context_line":"        - logging.StreamHandler"}],"source_content_type":"text/x-python","patch_set":33,"id":"5f7c97a3_1281f84d","line":67,"range":{"start_line":67,"start_character":15,"end_line":67,"end_character":23},"in_reply_to":"5f7c97a3_cfeb2e79","updated":"2018-07-04 14:04:24.000000000","message":"Done","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"4fbfcb78c9df6f51d34c0faae0e208f700c2c078","unresolved":false,"context_lines":[{"line_number":66,"context_line":"def fix_log_handlers():"},{"line_number":67,"context_line":"    \"\"\"Patches handlers classes to write to STDERR instead of STDOUT"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Affected hablder classes:"},{"line_number":70,"context_line":"        - logging.StreamHandler"},{"line_number":71,"context_line":"        - logging.FileHandler"},{"line_number":72,"context_line":"        - logging.handlers.WatchedFileHandler"}],"source_content_type":"text/x-python","patch_set":33,"id":"5f7c97a3_cfc24e03","line":69,"range":{"start_line":69,"start_character":13,"end_line":69,"end_character":20},"updated":"2018-06-28 11:22:42.000000000","message":"nit: \u0027s/hablder/handler/g\u0027","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"ccef0f1ede0f017da07d28b479c311f4032cb523","unresolved":false,"context_lines":[{"line_number":66,"context_line":"def fix_log_handlers():"},{"line_number":67,"context_line":"    \"\"\"Patches handlers classes to write to STDERR instead of STDOUT"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Affected hablder classes:"},{"line_number":70,"context_line":"        - logging.StreamHandler"},{"line_number":71,"context_line":"        - logging.FileHandler"},{"line_number":72,"context_line":"        - logging.handlers.WatchedFileHandler"}],"source_content_type":"text/x-python","patch_set":33,"id":"5f7c97a3_3284345d","line":69,"range":{"start_line":69,"start_character":13,"end_line":69,"end_character":20},"in_reply_to":"5f7c97a3_cfc24e03","updated":"2018-07-04 14:04:24.000000000","message":"Done","commit_id":"ce94fca39c2b067f818078ea0075e7d0ba1d1967"}]}
