)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"47325df4d7d5b1daf752d22037a747f2d3497f5c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This introduces a new \u0027use_journal\u0027 flag, if used will log natively to"},{"line_number":14,"context_line":"the systemd journal. In addition to the existing log messages getting"},{"line_number":15,"context_line":"send to the journal, it also sends a number of additional variables"},{"line_number":16,"context_line":"(when they exist on the context) like REQUEST_ID, which can be"},{"line_number":17,"context_line":"searched with journalctl."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"bff0334d_35c1d155","line":15,"updated":"2017-04-06 14:59:48.000000000","message":"s/send to the journal/sent to the journal/","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"}],"oslo_log/_options.py":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"777df08268db0227fc00c88c38fdb04212fc2b11","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                     \u0027Existing syslog format is DEPRECATED \u0027"},{"line_number":85,"context_line":"                     \u0027and will be changed later to honor RFC5424. \u0027"},{"line_number":86,"context_line":"                     + _IGNORE_MESSAGE),"},{"line_number":87,"context_line":"    cfg.BoolOpt(\u0027disable-journal\u0027,"},{"line_number":88,"context_line":"                default\u003dFalse,"},{"line_number":89,"context_line":"                help\u003d\u0027Disable journald for logging. \u0027"},{"line_number":90,"context_line":"                     \u0027Normally, if we are running under systemd, oslo.log \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_c27a0587","line":87,"updated":"2017-03-31 11:24:18.000000000","message":"Sean, The regular logging to files will still be there right?","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"52290f54821c47dfd3403f683343a61a59671b31","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                     \u0027Existing syslog format is DEPRECATED \u0027"},{"line_number":85,"context_line":"                     \u0027and will be changed later to honor RFC5424. \u0027"},{"line_number":86,"context_line":"                     + _IGNORE_MESSAGE),"},{"line_number":87,"context_line":"    cfg.BoolOpt(\u0027disable-journal\u0027,"},{"line_number":88,"context_line":"                default\u003dFalse,"},{"line_number":89,"context_line":"                help\u003d\u0027Disable journald for logging. \u0027"},{"line_number":90,"context_line":"                     \u0027Normally, if we are running under systemd, oslo.log \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_3c1b0c1c","line":87,"in_reply_to":"dfeb2761_5747d04c","updated":"2017-03-31 17:03:44.000000000","message":"In the past we\u0027ve discussed a logging \"mode\" flag of some sort to switch between standard text and JSON output (to make it easier to do that without having to provide a separate logging config file using Python\u0027s standard). Maybe this is just another mode (and leads to us actually implementing that switch)?","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"d1a992b41c2b65a3992005d768b32a7d18a63c4c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                     \u0027Existing syslog format is DEPRECATED \u0027"},{"line_number":85,"context_line":"                     \u0027and will be changed later to honor RFC5424. \u0027"},{"line_number":86,"context_line":"                     + _IGNORE_MESSAGE),"},{"line_number":87,"context_line":"    cfg.BoolOpt(\u0027disable-journal\u0027,"},{"line_number":88,"context_line":"                default\u003dFalse,"},{"line_number":89,"context_line":"                help\u003d\u0027Disable journald for logging. \u0027"},{"line_number":90,"context_line":"                     \u0027Normally, if we are running under systemd, oslo.log \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_5747d04c","line":87,"in_reply_to":"dfeb2761_c27a0587","updated":"2017-03-31 15:08:20.000000000","message":"yes, actually right now this patch running in devstack means everything is double logged (once from stdout and once direct to the journal). \n\nI think that\u0027s one of the things that we probably need to consider, what is the process of turning on journal direct access? is it on by default? Does turning it on turn off the standard out path?","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"1722354eae490daa9765b48550811bea15dd1a34","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                     \u0027Normally, if we are running under systemd, oslo.log \u0027"},{"line_number":91,"context_line":"                     \u0027will use journald native protocol for logging. You \u0027"},{"line_number":92,"context_line":"                     \u0027can disable this if it interferes with your \u0027"},{"line_number":93,"context_line":"                     \u0027environment. \u0027),"},{"line_number":94,"context_line":"    cfg.StrOpt(\u0027syslog-log-facility\u0027,"},{"line_number":95,"context_line":"               default\u003d\u0027LOG_USER\u0027,"},{"line_number":96,"context_line":"               help\u003d\u0027Syslog facility to receive log lines. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_7c548221","line":93,"range":{"start_line":93,"start_character":34,"end_line":93,"end_character":35},"updated":"2017-04-05 02:34:17.000000000","message":"oh, white space :D","commit_id":"5600618a4e19e692ed76ec478c1e97d6cc864896"}],"oslo_log/formatters.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"64772473bb63a4c9ae0c5ae86ce6cb53728462a3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    "},{"line_number":36,"context_line":"def _dictify_context(context):"},{"line_number":37,"context_line":"    if getattr(context, \u0027get_logging_values\u0027, None):"},{"line_number":38,"context_line":"        return context.get_logging_values()"},{"line_number":39,"context_line":"    elif getattr(context, \u0027to_dict\u0027, None):"},{"line_number":40,"context_line":"        debtcollector.deprecate("},{"line_number":41,"context_line":"            \u0027The RequestContext.get_logging_values() \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_515b0553","line":38,"updated":"2017-04-04 11:43:51.000000000","message":"Nova is converted to use a version of oslo.context that has get_logging_values, so we\u0027re returning here.","commit_id":"aecd72deadbb9bf482d4821f4fd2d6c43c875106"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"64772473bb63a4c9ae0c5ae86ce6cb53728462a3","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            # FIXME(dhellmann): We should replace these nova-isms with"},{"line_number":306,"context_line":"            # more generic handling in the Context class.  See the"},{"line_number":307,"context_line":"            # app-agnostic-logging-parameters blueprint."},{"line_number":308,"context_line":"            instance \u003d getattr(context, \u0027instance\u0027, None)"},{"line_number":309,"context_line":"            instance_uuid \u003d getattr(context, \u0027instance_uuid\u0027, None)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"            # resource_uuid was introduced in oslo_context\u0027s"},{"line_number":312,"context_line":"            # RequestContext"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_d11dd573","line":309,"range":{"start_line":308,"start_character":0,"end_line":309,"end_character":67},"updated":"2017-04-04 11:43:51.000000000","message":"These aren\u0027t possible from the Nova context any more, given the new oslo.context.","commit_id":"aecd72deadbb9bf482d4821f4fd2d6c43c875106"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"64772473bb63a4c9ae0c5ae86ce6cb53728462a3","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"            # resource_uuid was introduced in oslo_context\u0027s"},{"line_number":312,"context_line":"            # RequestContext"},{"line_number":313,"context_line":"            resource_uuid \u003d getattr(context, \u0027resource_uuid\u0027, None)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"            if instance:"},{"line_number":316,"context_line":"                instance_extra \u003d (self.conf.instance_format"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_710e093c","line":313,"updated":"2017-04-04 11:43:51.000000000","message":"I don\u0027t see any instance of setting resource_uuid in Nova code. It may be used in other systems.","commit_id":"aecd72deadbb9bf482d4821f4fd2d6c43c875106"}],"oslo_log/handlers.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e95d5b8e674871b2b109385258861904c1a000a8","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                \u0027PRIORITY\u0027: priority"},{"line_number":165,"context_line":"            }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            instance \u003d getattr(record, \u0027instance\u0027, None)"},{"line_number":168,"context_line":"            if instance is not None:"},{"line_number":169,"context_line":"                extras[\u0027INSTANCE\u0027] \u003d instance"},{"line_number":170,"context_line":"            reqid \u003d record.__dict__.get(\u0027request_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_fcbb64e2","line":167,"updated":"2017-03-31 17:09:07.000000000","message":"We have been trying very hard to remove application-specific values like this from the underlying implementation. Can we just pull all of the values out of the context and send them as extras, like we do with the JSON formatter?","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"f2cafe657131c421c623127f0afec7f649a7db30","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                \u0027PRIORITY\u0027: priority"},{"line_number":165,"context_line":"            }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            instance \u003d getattr(record, \u0027instance\u0027, None)"},{"line_number":168,"context_line":"            if instance is not None:"},{"line_number":169,"context_line":"                extras[\u0027INSTANCE\u0027] \u003d instance"},{"line_number":170,"context_line":"            reqid \u003d record.__dict__.get(\u0027request_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_ba8daad4","line":167,"in_reply_to":"dfeb2761_5a70dea5","updated":"2017-04-03 15:26:32.000000000","message":"It looks like the context attribute is actually \"resource_uuid\" and not just \"resource\" but I\u0027m not sure what the log record attribute name is. Likely the same?\n\nhttp://git.openstack.org/cgit/openstack/oslo.context/tree/oslo_context/context.py#n238","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"627b94cacc777fd20b79160b2cb181ecc508ea6e","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                \u0027PRIORITY\u0027: priority"},{"line_number":165,"context_line":"            }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            instance \u003d getattr(record, \u0027instance\u0027, None)"},{"line_number":168,"context_line":"            if instance is not None:"},{"line_number":169,"context_line":"                extras[\u0027INSTANCE\u0027] \u003d instance"},{"line_number":170,"context_line":"            reqid \u003d record.__dict__.get(\u0027request_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_f17699a4","line":167,"in_reply_to":"dfeb2761_ba8daad4","updated":"2017-04-04 11:20:30.000000000","message":"So, it is, however that assumes that the value is embedded in the context, and not sent on the LOG line. I\u0027m actually trying to figure out if there is a reasonable way to figure out where the instance comes from, because it\u0027s very often explicitly sent.","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"b83553aca2231a5acf10ee88ed003d49ea4a8c83","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                \u0027PRIORITY\u0027: priority"},{"line_number":165,"context_line":"            }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            instance \u003d getattr(record, \u0027instance\u0027, None)"},{"line_number":168,"context_line":"            if instance is not None:"},{"line_number":169,"context_line":"                extras[\u0027INSTANCE\u0027] \u003d instance"},{"line_number":170,"context_line":"            reqid \u003d record.__dict__.get(\u0027request_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_5a70dea5","line":167,"in_reply_to":"dfeb2761_ce669dee","updated":"2017-04-03 15:07:29.000000000","message":"The base context class uses \"resource\" as a generic term for \"the thing on which the operation was performed\" so if we switch to that here I\u0027d be happy with this and we can look at dumping the rest of the context separately. I do not want the word \"instance\" used, though. We have plenty of services that manage resources where an instance isn\u0027t involved in the operation.","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"aeefcbb4150ff06cd4cfae74796d5b3f6d713564","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                \u0027PRIORITY\u0027: priority"},{"line_number":165,"context_line":"            }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            instance \u003d getattr(record, \u0027instance\u0027, None)"},{"line_number":168,"context_line":"            if instance is not None:"},{"line_number":169,"context_line":"                extras[\u0027INSTANCE\u0027] \u003d instance"},{"line_number":170,"context_line":"            reqid \u003d record.__dict__.get(\u0027request_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_ce669dee","line":167,"in_reply_to":"dfeb2761_fcbb64e2","updated":"2017-03-31 21:28:55.000000000","message":"maybe? I\u0027ll see if there is another way to get INSTANCE into the journal, but that\u0027s definitely a thing I want to make sure ends up over there.","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"0150924cac8122685567c97854d301f53a1f2ea6","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            if reqid:"},{"line_number":172,"context_line":"                extras[\u0027REQUEST_ID\u0027] \u003d reqid"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"            journal.send(message, **extras)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"class ColorHandler(logging.StreamHandler):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfeb2761_e6675325","line":174,"updated":"2017-03-31 16:18:42.000000000","message":"Based on some reading I think this call can block in a way eventlet can\u0027t monkeypatch. https://github.com/systemd/python-systemd/blob/master/systemd/_journal.c#L69 ends up being called and although the docs don\u0027t specify this seems like it should have similar behavior to syslog().","commit_id":"a455b22a277fa33c4a5acc815767a4d54c1ecbdd"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"181a9ec51df5aa3f94c3d47dbe54b1a881d40c2b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"try:"},{"line_number":22,"context_line":"    from systemd import journal"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    journal \u003d None"},{"line_number":25,"context_line":"try:"},{"line_number":26,"context_line":"    import syslog"},{"line_number":27,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_63f8dfc3","line":24,"updated":"2017-04-06 02:18:27.000000000","message":"I don\u0027t understand how this works, who/how exactly will specify a dependency on systemd package [1] so that the use_journal flag doesn\u0027t make the below attribute error?\n\n1. this one?  https://www.freedesktop.org/software/systemd/python-systemd/journal.html","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"545bd0ad4ca862f226f98e45a38e479192aa8ed3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"try:"},{"line_number":22,"context_line":"    from systemd import journal"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    journal \u003d None"},{"line_number":25,"context_line":"try:"},{"line_number":26,"context_line":"    import syslog"},{"line_number":27,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_7a918099","line":24,"in_reply_to":"bff0334d_2d1e36ba","updated":"2017-04-06 17:34:56.000000000","message":"It would be good to add an extras section to setup.py, too.","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6ed5d7fc8a4437293e928f7a2840ffa3c1c33e3a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"try:"},{"line_number":22,"context_line":"    from systemd import journal"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    journal \u003d None"},{"line_number":25,"context_line":"try:"},{"line_number":26,"context_line":"    import syslog"},{"line_number":27,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_2d1e36ba","line":24,"in_reply_to":"bff0334d_63f8dfc3","updated":"2017-04-06 11:20:54.000000000","message":"either apt-get install python-systemd, or pip install -U systemd-python\n\n(good point that I should add that to the docs).","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"181a9ec51df5aa3f94c3d47dbe54b1a881d40c2b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        \u0027project_id\u0027,"},{"line_number":105,"context_line":"        \u0027user_name\u0027,"},{"line_number":106,"context_line":"        \u0027user_id\u0027,"},{"line_number":107,"context_line":"        \u0027request_id\u0027,"},{"line_number":108,"context_line":"    )"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_43e39b06","line":107,"updated":"2017-04-06 02:18:27.000000000","message":"seems like a really good idea... do you know of any distributed services or FOSS that is already taking advantage of journald extras like this [1] - is name collision a possibility?  is it worth namespacing these to openstack or oslo?\n\n1. ?? https://github.com/docker/docker/pull/23136/files","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6ed5d7fc8a4437293e928f7a2840ffa3c1c33e3a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        \u0027project_id\u0027,"},{"line_number":105,"context_line":"        \u0027user_name\u0027,"},{"line_number":106,"context_line":"        \u0027user_id\u0027,"},{"line_number":107,"context_line":"        \u0027request_id\u0027,"},{"line_number":108,"context_line":"    )"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_adbc8669","line":107,"in_reply_to":"bff0334d_43e39b06","updated":"2017-04-06 11:20:54.000000000","message":"I don\u0027t think namespacing is really required. You can always search by more than one criteria, so if you are only interested in things related to openstack services you would filter by the unit files with --unit, or some other criteria.\n\nThe systemd docs at least don\u0027t make it a big deal to use the facility.","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"181a9ec51df5aa3f94c3d47dbe54b1a881d40c2b","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        # Do not use super() unless type(logging.Handler) is \u0027type\u0027"},{"line_number":112,"context_line":"        # (i.e. \u003e\u003d Python 2.7)."},{"line_number":113,"context_line":"        if not journal:"},{"line_number":114,"context_line":"            raise Exception(\"Systemd bindings do not exist\")"},{"line_number":115,"context_line":"        logging.Handler.__init__(self)"},{"line_number":116,"context_line":"        self.binary_name \u003d _get_binary_name()"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_e32d0f47","line":114,"updated":"2017-04-06 02:18:27.000000000","message":"oic, we jus blow up if you don\u0027t install the package... but who/how/when is the dependency installed exactly?","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"181a9ec51df5aa3f94c3d47dbe54b1a881d40c2b","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        extras \u003d {"},{"line_number":124,"context_line":"            \u0027CODE_FILE\u0027: record.pathname,"},{"line_number":125,"context_line":"            \u0027CODE_LINE\u0027: record.lineno,"},{"line_number":126,"context_line":"            \u0027CODE_FUNC\u0027: record.funcName,"},{"line_number":127,"context_line":"            \u0027LOGGER_NAME\u0027: record.name,"},{"line_number":128,"context_line":"            \u0027LOGGER_LEVEL\u0027: record.levelname,"},{"line_number":129,"context_line":"            \u0027SYSLOG_IDENTIFIER\u0027: self.binary_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_437a7b24","line":126,"updated":"2017-04-06 02:18:27.000000000","message":"Are any of these publicized as standards, did you crib from prior art [1]?  get lucky ;)\n\n1. https://github.com/docker/docker/pull/23136/files","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6ed5d7fc8a4437293e928f7a2840ffa3c1c33e3a","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        extras \u003d {"},{"line_number":124,"context_line":"            \u0027CODE_FILE\u0027: record.pathname,"},{"line_number":125,"context_line":"            \u0027CODE_LINE\u0027: record.lineno,"},{"line_number":126,"context_line":"            \u0027CODE_FUNC\u0027: record.funcName,"},{"line_number":127,"context_line":"            \u0027LOGGER_NAME\u0027: record.name,"},{"line_number":128,"context_line":"            \u0027LOGGER_LEVEL\u0027: record.levelname,"},{"line_number":129,"context_line":"            \u0027SYSLOG_IDENTIFIER\u0027: self.binary_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_8d2422c8","line":126,"in_reply_to":"bff0334d_437a7b24","updated":"2017-04-06 11:20:54.000000000","message":"There is a handler that comes with systemd-python - https://www.freedesktop.org/software/systemd/python-systemd/journal.html#journalhandler-class and I reused those when I did this (though I added LOGGER_NAME late, I guess differently then they do it).","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9be33f5ab89b311ea0a4ce76a2db059bf58cb9f1","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        extras \u003d {"},{"line_number":124,"context_line":"            \u0027CODE_FILE\u0027: record.pathname,"},{"line_number":125,"context_line":"            \u0027CODE_LINE\u0027: record.lineno,"},{"line_number":126,"context_line":"            \u0027CODE_FUNC\u0027: record.funcName,"},{"line_number":127,"context_line":"            \u0027LOGGER_NAME\u0027: record.name,"},{"line_number":128,"context_line":"            \u0027LOGGER_LEVEL\u0027: record.levelname,"},{"line_number":129,"context_line":"            \u0027SYSLOG_IDENTIFIER\u0027: self.binary_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bff0334d_6ef0b568","line":126,"in_reply_to":"bff0334d_8d2422c8","updated":"2017-04-06 12:18:09.000000000","message":"i see, down at the bottom:\n\nThe following journal fields will be sent: MESSAGE, PRIORITY, THREAD_NAME, CODE_FILE, CODE_LINE, CODE_FUNC, LOGGER (name as supplied to getLogger call), MESSAGE_ID (optional, see above), SYSLOG_IDENTIFIER (defaults to sys.argv[0]).\n\nthanks.\n\nhttps://github.com/systemd/python-systemd/blob/master/systemd/journal.py","commit_id":"82cce3442ebd7f99c3f03df538034c0e6b485f89"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"47325df4d7d5b1daf752d22037a747f2d3497f5c","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_15e7ede6","line":94,"updated":"2017-04-06 14:59:48.000000000","message":"if the syslog module is not importable, these lines will raise an AttributeError since syslog will be None. Is that expected/OK?","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"cadc0fdcee891a3d5ac4034fc6ce3483de9282b1","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_7544e71b","line":94,"in_reply_to":"bff0334d_0c1c7f10","updated":"2017-04-06 23:03:20.000000000","message":"I doubt it, it\u0027s pretty linux specific.","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"df506e4376ec7c5c6f442df1a277dee6538d55c7","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_1fd82651","line":94,"in_reply_to":"bff0334d_15e7ede6","updated":"2017-04-06 17:18:51.000000000","message":"ick, probably a bit of a regression for lp but #1459187\n\nI saw the guard on the import above and once I realized that would only happen on windows I tuned it out.  But bug report says Hyper-V is a thing for people that use this library!\n\nGood eye Jay.  It\u0027s tough being library code.  Feels like I86ca0ff2bb3fbfbcaf4a04692ff7871654add5bc might have added something to help with regression in case someone as smart as Jay isn\u0027t around to review every change that might use the syslog module at import time :\\","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"fad80cf58a0c61ed8a0125f532a9529ebb034985","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_fe0221b4","line":94,"in_reply_to":"bff0334d_1a7ef4e3","updated":"2017-04-06 19:07:14.000000000","message":"I\u0027m not sure that\u0027s actually possible, given that systemd.journal imports syslog - https://github.com/systemd/python-systemd/blob/master/systemd/journal.py#L29\n\nBut I guess that mostly means this isn\u0027t safe to just load on windows any more.","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"13fc3141173fb6fa82113a3d727937bc79c76b93","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_1a7ef4e3","line":94,"in_reply_to":"bff0334d_1fd82651","updated":"2017-04-06 17:49:54.000000000","message":"I submitted a follow-up patch with one approach for addressing this.","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"14a01c23dbdfb07ac6cbdacc7dd2990c46242e18","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class OSJournalHandler(logging.Handler):"},{"line_number":93,"context_line":"    severity_map \u003d {"},{"line_number":94,"context_line":"        \"CRITICAL\": syslog.LOG_CRIT,"},{"line_number":95,"context_line":"        \"DEBUG\": syslog.LOG_DEBUG,"},{"line_number":96,"context_line":"        \"ERROR\": syslog.LOG_ERR,"},{"line_number":97,"context_line":"        \"INFO\": syslog.LOG_INFO,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_0c1c7f10","line":94,"in_reply_to":"bff0334d_fe0221b4","updated":"2017-04-06 20:07:30.000000000","message":"Is it possible to install the systemd libs on Windows?","commit_id":"4a8d8d743024d42f07392ce1d3b43ca7b36751fb"}]}
