)]}'
{"keystoneclient/httpclient.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"173943bf76098e1f4aefe75a2a6d429ee98ce346","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_49b072f4","line":233,"updated":"2014-05-29 15:46:30.000000000","message":"it seems this should be done closer to where iso8601 is actually used?","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"8832470120fffd0af18fa0d21723e3c4ac5eaff5","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_045fee41","line":233,"in_reply_to":"1ae5cdf2_03eff2b1","updated":"2014-06-12 08:41:11.000000000","message":"Brant Knudson, Morgan Fainberg, thanks for review, and sorry for late replying. in my opinion, the iso8601 debug info is just noise info. so I proposed to make changes in HTTPClient, \nmaybe your suggestion is more reasonable, but I am not sure if it should in shell(you meant keystoneclient/shell.py:main()?) ?\nI will upload PS2, and look forward to your review :)","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4cc778390f2045f4aa8d4f86c1d41f7396477c7b","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_d55b57f4","line":233,"in_reply_to":"1ae5cdf2_7e0da9e7","updated":"2014-06-10 00:59:34.000000000","message":"I agree with Jamie. Logging configuration should be done in the application and not in the keystoneclient library. Applications wouldn\u0027t expect keystoneclient to mess with the logging level if they had configured it themselves (which they should have).","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"efcf7437795d77c2dd24bc585b732f817368b3c3","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_cc451644","line":233,"in_reply_to":"1ae5cdf2_7e0da9e7","updated":"2014-06-05 04:47:34.000000000","message":"keystoneclient/openstack/common/timeutils.py is a better place to set iso8601 specific stuff.","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"6de3b0d36ed6e63702af400924284ac539bc7701","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_0cc1be53","line":233,"in_reply_to":"1ae5cdf2_cc451644","updated":"2014-06-05 04:59:47.000000000","message":"@David J Hu, thanks for review,\tAs I replied above, keystoneclient/openstack/common/timeutils.py is part of oslo-incubator, if use log of oslo-incubator, there is no issue, but keystone didn\u0027t... \nplease see above comments.","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"810392078534881b6d118729e8e037d0e1df0175","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_03eff2b1","line":233,"in_reply_to":"1ae5cdf2_d55b57f4","updated":"2014-06-11 23:17:16.000000000","message":"As Jaime said, this should go into shell, not in the HTTPClient class. We shouldn\u0027t muck with the default logging levels that are set elsewhere (e.g. in oslo.log).\n\nIf another client isn\u0027t setting the log level, it should be fixed in that client\u0027s shell as well.\n\nIt would be an icky surprise to set a value in oslo.log somewhere to make iso8601 debug and have it not work, because keystoneclient went and changed it.","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"72409cae81aded781b53bf1d30c3d149f14c9054","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_7e0da9e7","line":233,"in_reply_to":"3ae8d1ca_49b072f4","updated":"2014-06-04 09:09:57.000000000","message":"Well, when I use \"cd /usr/local/bin;pdb keystone --debug user-list\" command to pdb the keystoneclient, I have traced and found when step to: keystoneclient.httpclient.HTTPClient#auth_token, and then the method keystoneclient.access.AccessInfo#will_expire_soon will use *timeutils,normalize_time* (from keystoneclient.openstack.common import timeutils), this will use iso8601 to normalize time. the iso debug level log will be printed to CLI. The timeutils is import from oslo-incubator (keystoneclient/openstack/comman/timeutils.py), if use logger imported from oslo-incubator, the iso8601 log level will be set to WARN (https://github.com/openstack/oslo-incubator/blob/master/openstack/common/log.py#L167), while keystoneclient didn\u0027t use.\n\n@Jamie Lennox, I think in httpclient.py, the keystoneclient.httpclient.HTTPClient class is the base class of both keystoneclient.v3.client.Client and keystoneclient.v2_0.client.Client, others project import keystoneclient to get_token will always call HTTPClient. it isn\u0027t clear about \"shell.py\" you said, keystoneclient/v2(or v3)/shell.py? keystoneclient/shell.py?, the mainly function in shell.py is main(), if other projects use keystoneclient, will don\u0027t call main()\n\nthanks for your review\n\nBest Regards :)","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"4007829ffd969f5ed1a83bc636fabd339c177de8","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":231,"context_line":"        self.debug_log \u003d debug"},{"line_number":232,"context_line":"        iso_logger \u003d logging.getLogger(\u0027iso8601\u0027)"},{"line_number":233,"context_line":"        iso_logger.setLevel(\u0027WARN\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # keyring setup"},{"line_number":236,"context_line":"        if use_keyring and keyring is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_128e5ed0","line":233,"in_reply_to":"3ae8d1ca_49b072f4","updated":"2014-06-04 07:29:29.000000000","message":"also this is to do with the shell - not the httpclient. If this needs to happen it needs to go in shell.py, we are not responsible for the logging of everyone who might import us.","commit_id":"7739119f40d60a4e1a647595d49babcf0c26d419"}]}
