{"action":"created","issue":{"url":"https://api.github.com/repos/pyqg/pyqg/issues/102","labels_url":"https://api.github.com/repos/pyqg/pyqg/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/pyqg/pyqg/issues/102/comments","events_url":"https://api.github.com/repos/pyqg/pyqg/issues/102/events","html_url":"https://github.com/pyqg/pyqg/pull/102","id":113255834,"number":102,"title":"New logger","user":{"login":"crocha700","id":8060885,"avatar_url":"https://avatars.githubusercontent.com/u/8060885?v=3","gravatar_id":"","url":"https://api.github.com/users/crocha700","html_url":"https://github.com/crocha700","followers_url":"https://api.github.com/users/crocha700/followers","following_url":"https://api.github.com/users/crocha700/following{/other_user}","gists_url":"https://api.github.com/users/crocha700/gists{/gist_id}","starred_url":"https://api.github.com/users/crocha700/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crocha700/subscriptions","organizations_url":"https://api.github.com/users/crocha700/orgs","repos_url":"https://api.github.com/users/crocha700/repos","events_url":"https://api.github.com/users/crocha700/events{/privacy}","received_events_url":"https://api.github.com/users/crocha700/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rabernat","id":1197350,"avatar_url":"https://avatars.githubusercontent.com/u/1197350?v=3","gravatar_id":"","url":"https://api.github.com/users/rabernat","html_url":"https://github.com/rabernat","followers_url":"https://api.github.com/users/rabernat/followers","following_url":"https://api.github.com/users/rabernat/following{/other_user}","gists_url":"https://api.github.com/users/rabernat/gists{/gist_id}","starred_url":"https://api.github.com/users/rabernat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rabernat/subscriptions","organizations_url":"https://api.github.com/users/rabernat/orgs","repos_url":"https://api.github.com/users/rabernat/repos","events_url":"https://api.github.com/users/rabernat/events{/privacy}","received_events_url":"https://api.github.com/users/rabernat/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-10-25T21:38:26Z","updated_at":"2015-10-25T23:09:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/pyqg/pyqg/pulls/102","html_url":"https://github.com/pyqg/pyqg/pull/102","diff_url":"https://github.com/pyqg/pyqg/pull/102.diff","patch_url":"https://github.com/pyqg/pyqg/pull/102.patch"},"body":"Ok. I'll submit smaller incremental PRs to master with those changes in ```develop```. Many of those commits were just me trying to get things working, so this should be relatively fast, easy to review, and less frustrating than solving conflicts. After this process is done we'll extinguish ```develop```.\r\n\r\nThis implements a new logger that leverages on python's logging tools. There are many advantages, including discriminating into types of information: INFO, WARNING, ERROR, etc.  By default\r\n```logfile=None```, but if the logfile is specified then the log is saved to disk instead of printing out on the screen. \r\n\r\nAn example of logger output from ```test_two-layer.py```\r\n\r\n```{python}\r\ncrocha (new_logger) tests $ python test_twolayer_qg.py\r\n\r\n2015-10-25 14:37:51,694 - pyqg.model - INFO -  Logger initialized\r\n2015-10-25 14:37:51,723 - pyqg.model - INFO -  Kernel initialized\r\n2015-10-25 14:37:52,596 - pyqg.model - INFO -  Step: 1000, Time: 1.280000e+07, KE: 3.570417e-05, CFL: 0.021194\r\n2015-10-25 14:37:53,449 - pyqg.model - INFO -  Step: 2000, Time: 2.560000e+07, KE: 8.905682e-05, CFL: 0.021312\r\n2015-10-25 14:37:54,262 - pyqg.model - INFO -  Step: 3000, Time: 3.840000e+07, KE: 2.223634e-04, CFL: 0.026741\r\n2015-10-25 14:37:55,050 - pyqg.model - INFO -  Step: 4000, Time: 5.120000e+07, KE: 5.554657e-04, CFL: 0.042373\r\n2015-10-25 14:37:55,845 - pyqg.model - INFO -  Step: 5000, Time: 6.400000e+07, KE: 1.388770e-03, CFL: 0.066468\r\n2015-10-25 14:37:56,644 - pyqg.model - INFO -  Step: 6000, Time: 7.680000e+07, KE: 3.473293e-03, CFL: 0.105027\r\n2015-10-25 14:37:57,440 - pyqg.model - INFO -  Step: 7000, Time: 8.960000e+07, KE: 2.862242e-03, CFL: 0.107483\r\ntime:       9.3312e+07\r\n\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/pyqg/pyqg/issues/comments/150986236","html_url":"https://github.com/pyqg/pyqg/pull/102#issuecomment-150986236","issue_url":"https://api.github.com/repos/pyqg/pyqg/issues/102","id":150986236,"user":{"login":"rabernat","id":1197350,"avatar_url":"https://avatars.githubusercontent.com/u/1197350?v=3","gravatar_id":"","url":"https://api.github.com/users/rabernat","html_url":"https://github.com/rabernat","followers_url":"https://api.github.com/users/rabernat/followers","following_url":"https://api.github.com/users/rabernat/following{/other_user}","gists_url":"https://api.github.com/users/rabernat/gists{/gist_id}","starred_url":"https://api.github.com/users/rabernat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rabernat/subscriptions","organizations_url":"https://api.github.com/users/rabernat/orgs","repos_url":"https://api.github.com/users/rabernat/repos","events_url":"https://api.github.com/users/rabernat/events{/privacy}","received_events_url":"https://api.github.com/users/rabernat/received_events","type":"User","site_admin":false},"created_at":"2015-10-25T23:09:15Z","updated_at":"2015-10-25T23:09:15Z","body":"Ok great!"}}