)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8922ab354c8d56246e16ede7b3edf309d4809724","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ce11a86d_a6adb5ed","updated":"2024-10-15 12:02:04.000000000","message":"I this gets squashed then it would be good to include a link to the original custom log handlers patch in the final commit message\n\ni.e.:\n```\nRelated-Change: Ib04b12939dcac7e4ad6453dea9795682044c6ae0\n```","commit_id":"5ecf60606e69c5d544af4745afc5f7b4e956da3e"}],"swift/common/utils/logs.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"836c58d415d33fdb413e292397d1583faf9ec6da","unresolved":true,"context_lines":[{"line_number":693,"context_line":"        conf, logger, name, log_to_console, log_route, fmt)"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"def get_adapted_logger(conf, logger, name, log_to_console, log_route, fmt):"},{"line_number":697,"context_line":"    adapted_logger \u003d SwiftLogAdapter(logger, name)"},{"line_number":698,"context_line":"    other_handlers \u003d conf.get(\u0027log_custom_handlers\u0027, None)"},{"line_number":699,"context_line":"    if other_handlers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"49cfed6b_ccff82c7","line":696,"updated":"2024-10-14 18:08:07.000000000","message":"in general, other than get_logger, we won\u0027t have log_to_console etc to hand in order to use this func to \"re-wrap\" an existing SwiftLogAdapter","commit_id":"60e646d7c4f0b575c6f02436548da5f84cf31a86"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e927a83a626c716613411abda460440b16248cb2","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        conf, logger, name, log_to_console, log_route, fmt)"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"def get_adapted_logger(conf, logger, name, log_to_console, log_route, fmt):"},{"line_number":697,"context_line":"    adapted_logger \u003d SwiftLogAdapter(logger, name)"},{"line_number":698,"context_line":"    other_handlers \u003d conf.get(\u0027log_custom_handlers\u0027, None)"},{"line_number":699,"context_line":"    if other_handlers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"42f40706_8cf75508","line":696,"in_reply_to":"49cfed6b_ccff82c7","updated":"2024-10-15 11:06:24.000000000","message":"Done","commit_id":"60e646d7c4f0b575c6f02436548da5f84cf31a86"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e927a83a626c716613411abda460440b16248cb2","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        self.server \u003d server"},{"line_number":259,"context_line":"        self.warn \u003d self.warning"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def clone(self):"},{"line_number":262,"context_line":"        return SwiftLogAdapter(self.logger, self.server, self.prefix)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    # There are a few properties needed for py35; see"}],"source_content_type":"text/x-python","patch_set":3,"id":"d30f7c99_92775f92","line":261,"updated":"2024-10-15 11:06:24.000000000","message":"this method could take an optional ``prefix`` arg, but I decided that was unnecessary complexity, and biased by our current use case (to create a clone with a different use case). That would lead to also supporting optional ``server`. So I decided to Keep It Simple.","commit_id":"5ecf60606e69c5d544af4745afc5f7b4e956da3e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e927a83a626c716613411abda460440b16248cb2","unresolved":true,"context_lines":[{"line_number":259,"context_line":"        self.warn \u003d self.warning"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def clone(self):"},{"line_number":262,"context_line":"        return SwiftLogAdapter(self.logger, self.server, self.prefix)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    # There are a few properties needed for py35; see"},{"line_number":265,"context_line":"    # - https://bugs.python.org/issue31457"}],"source_content_type":"text/x-python","patch_set":3,"id":"96e717f5_eb3b52d8","line":262,"range":{"start_line":262,"start_character":57,"end_line":262,"end_character":68},"updated":"2024-10-15 11:06:24.000000000","message":"Although our _current_ use case is to clone and then immediately ``set_prefix``, I think it would be odd to have a ``clone`` method that did NOT copy the ``prefix`` attribute.","commit_id":"5ecf60606e69c5d544af4745afc5f7b4e956da3e"}]}
