{"action":"closed","issue":{"url":"https://api.github.com/repos/m-labs/artiq/issues/45","labels_url":"https://api.github.com/repos/m-labs/artiq/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/m-labs/artiq/issues/45/comments","events_url":"https://api.github.com/repos/m-labs/artiq/issues/45/events","html_url":"https://github.com/m-labs/artiq/issues/45","id":89963792,"number":45,"title":"master/gui: logging messages","user":{"login":"jordens","id":1338946,"avatar_url":"https://avatars.githubusercontent.com/u/1338946?v=3","gravatar_id":"","url":"https://api.github.com/users/jordens","html_url":"https://github.com/jordens","followers_url":"https://api.github.com/users/jordens/followers","following_url":"https://api.github.com/users/jordens/following{/other_user}","gists_url":"https://api.github.com/users/jordens/gists{/gist_id}","starred_url":"https://api.github.com/users/jordens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jordens/subscriptions","organizations_url":"https://api.github.com/users/jordens/orgs","repos_url":"https://api.github.com/users/jordens/repos","events_url":"https://api.github.com/users/jordens/events{/privacy}","received_events_url":"https://api.github.com/users/jordens/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/m-labs/artiq/labels/prio:1-enhancement","name":"prio:1-enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-21T21:31:21Z","updated_at":"2015-10-17T15:50:29Z","closed_at":"2015-10-17T15:50:29Z","body":"One dock within the GUI will be showing logging messages from the scheduler, the workers, the experiments, the controllers, the core device. Probably, the master will act as a hub rceiving aggregating messages and then save them to files and re-emit them to the GUI. The GUI can then filter on severity, source, or other metadata within the LogRecord (like experiment name). We need to decide whether [python-logging](https://docs.python.org/3.4/library/logging.html) fits the requirements (metadata with LogRecords, networking, interaction with asyncio, lazy formatting) or whether we need to roll our own."}}