{"action":"created","comment":{"url":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/24453302","id":24453302,"diff_hunk":"@@ -307,17 +328,26 @@ defmodule Logger.Translator do\n       is_integer(args) ->\n         format_undef(mod, fun, args, undef, stacktrace)\n       true ->\n-        Exception.format_exit(reason)\n+        format_stop_banner(undef)\n     end\n   end\n \n-  defp format_otp_exit(reason) do\n-    Exception.format_exit(reason)\n+  defp format_stop_banner(reason, stacktrace) do\n+    if Exception.exception?(reason) do\n+        Exception.format_banner(:error, reason, stacktrace)\n+    else\n+      case Exception.normalize(:error, reason, stacktrace) do\n+        %ErlangError{} ->\n+          format_stop_banner(reason)","path":"lib/logger/lib/logger/translator.ex","position":79,"original_position":79,"commit_id":"897359a5238736d989a6989eb6e0b392ecb6aea6","original_commit_id":"897359a5238736d989a6989eb6e0b392ecb6aea6","user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"body":"I was thinking we could just cal this directly. A few errors shown in the erlang syntax likely won't hurt?","created_at":"2015-02-10T21:41:46Z","updated_at":"2015-02-10T21:41:46Z","html_url":"https://github.com/elixir-lang/elixir/pull/3062#discussion_r24453302","pull_request_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062","_links":{"self":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/24453302"},"html":{"href":"https://github.com/elixir-lang/elixir/pull/3062#discussion_r24453302"},"pull_request":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062"}}},"pull_request":{"url":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062","id":29041969,"html_url":"https://github.com/elixir-lang/elixir/pull/3062","diff_url":"https://github.com/elixir-lang/elixir/pull/3062.diff","patch_url":"https://github.com/elixir-lang/elixir/pull/3062.patch","issue_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3062","number":3062,"state":"open","locked":false,"title":"Handle OTP 17.4 error_logger terminate reasons","user":{"login":"fishcakez","id":2001229,"avatar_url":"https://avatars.githubusercontent.com/u/2001229?v=3","gravatar_id":"","url":"https://api.github.com/users/fishcakez","html_url":"https://github.com/fishcakez","followers_url":"https://api.github.com/users/fishcakez/followers","following_url":"https://api.github.com/users/fishcakez/following{/other_user}","gists_url":"https://api.github.com/users/fishcakez/gists{/gist_id}","starred_url":"https://api.github.com/users/fishcakez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fishcakez/subscriptions","organizations_url":"https://api.github.com/users/fishcakez/orgs","repos_url":"https://api.github.com/users/fishcakez/repos","events_url":"https://api.github.com/users/fishcakez/events{/privacy}","received_events_url":"https://api.github.com/users/fishcakez/received_events","type":"User","site_admin":false},"body":"From 17.4 OTP behaviours include the stacktrace in the logged reason when `exit/1` is called. If an Elixir exception is raised, or the reason can be normalized to an Elixir exception (not `ErlangError`), the exception is formatted as an exception: \r\n```\r\n** (Exception) message\r\n```\r\nOtherwise the reason is formatted using Exception.format_exit/1:\r\n```\r\n** (stop) :reason\r\n```\r\n\r\nAddresses #3052.\r\n\r\nTODO:\r\n- [ ] Discussion\r\n- [ ] Update Task logged reason to 17.4 format\r\n- [ ] Tests","created_at":"2015-02-10T20:32:55Z","updated_at":"2015-02-10T21:41:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b3db137af52dbbfa268d4655c7e8e498255f242f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062/commits","review_comments_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062/comments","review_comment_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/{number}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3062/comments","statuses_url":"https://api.github.com/repos/elixir-lang/elixir/statuses/897359a5238736d989a6989eb6e0b392ecb6aea6","head":{"label":"fishcakez:logger_format_stop","ref":"logger_format_stop","sha":"897359a5238736d989a6989eb6e0b392ecb6aea6","user":{"login":"fishcakez","id":2001229,"avatar_url":"https://avatars.githubusercontent.com/u/2001229?v=3","gravatar_id":"","url":"https://api.github.com/users/fishcakez","html_url":"https://github.com/fishcakez","followers_url":"https://api.github.com/users/fishcakez/followers","following_url":"https://api.github.com/users/fishcakez/following{/other_user}","gists_url":"https://api.github.com/users/fishcakez/gists{/gist_id}","starred_url":"https://api.github.com/users/fishcakez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fishcakez/subscriptions","organizations_url":"https://api.github.com/users/fishcakez/orgs","repos_url":"https://api.github.com/users/fishcakez/repos","events_url":"https://api.github.com/users/fishcakez/events{/privacy}","received_events_url":"https://api.github.com/users/fishcakez/received_events","type":"User","site_admin":false},"repo":{"id":10428890,"name":"elixir","full_name":"fishcakez/elixir","owner":{"login":"fishcakez","id":2001229,"avatar_url":"https://avatars.githubusercontent.com/u/2001229?v=3","gravatar_id":"","url":"https://api.github.com/users/fishcakez","html_url":"https://github.com/fishcakez","followers_url":"https://api.github.com/users/fishcakez/followers","following_url":"https://api.github.com/users/fishcakez/following{/other_user}","gists_url":"https://api.github.com/users/fishcakez/gists{/gist_id}","starred_url":"https://api.github.com/users/fishcakez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fishcakez/subscriptions","organizations_url":"https://api.github.com/users/fishcakez/orgs","repos_url":"https://api.github.com/users/fishcakez/repos","events_url":"https://api.github.com/users/fishcakez/events{/privacy}","received_events_url":"https://api.github.com/users/fishcakez/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/fishcakez/elixir","description":"Elixir is a metaprogrammable, functional language built atop the Erlang VM. It is a dynamic language with hygenic macros that leverages Erlang's ability to build concurrent, distributed, and fault-tolerant applications with hot code upgrades.","fork":true,"url":"https://api.github.com/repos/fishcakez/elixir","forks_url":"https://api.github.com/repos/fishcakez/elixir/forks","keys_url":"https://api.github.com/repos/fishcakez/elixir/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fishcakez/elixir/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fishcakez/elixir/teams","hooks_url":"https://api.github.com/repos/fishcakez/elixir/hooks","issue_events_url":"https://api.github.com/repos/fishcakez/elixir/issues/events{/number}","events_url":"https://api.github.com/repos/fishcakez/elixir/events","assignees_url":"https://api.github.com/repos/fishcakez/elixir/assignees{/user}","branches_url":"https://api.github.com/repos/fishcakez/elixir/branches{/branch}","tags_url":"https://api.github.com/repos/fishcakez/elixir/tags","blobs_url":"https://api.github.com/repos/fishcakez/elixir/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fishcakez/elixir/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fishcakez/elixir/git/refs{/sha}","trees_url":"https://api.github.com/repos/fishcakez/elixir/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fishcakez/elixir/statuses/{sha}","languages_url":"https://api.github.com/repos/fishcakez/elixir/languages","stargazers_url":"https://api.github.com/repos/fishcakez/elixir/stargazers","contributors_url":"https://api.github.com/repos/fishcakez/elixir/contributors","subscribers_url":"https://api.github.com/repos/fishcakez/elixir/subscribers","subscription_url":"https://api.github.com/repos/fishcakez/elixir/subscription","commits_url":"https://api.github.com/repos/fishcakez/elixir/commits{/sha}","git_commits_url":"https://api.github.com/repos/fishcakez/elixir/git/commits{/sha}","comments_url":"https://api.github.com/repos/fishcakez/elixir/comments{/number}","issue_comment_url":"https://api.github.com/repos/fishcakez/elixir/issues/comments/{number}","contents_url":"https://api.github.com/repos/fishcakez/elixir/contents/{+path}","compare_url":"https://api.github.com/repos/fishcakez/elixir/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fishcakez/elixir/merges","archive_url":"https://api.github.com/repos/fishcakez/elixir/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fishcakez/elixir/downloads","issues_url":"https://api.github.com/repos/fishcakez/elixir/issues{/number}","pulls_url":"https://api.github.com/repos/fishcakez/elixir/pulls{/number}","milestones_url":"https://api.github.com/repos/fishcakez/elixir/milestones{/number}","notifications_url":"https://api.github.com/repos/fishcakez/elixir/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fishcakez/elixir/labels{/name}","releases_url":"https://api.github.com/repos/fishcakez/elixir/releases{/id}","created_at":"2013-06-01T21:44:00Z","updated_at":"2014-06-19T21:16:31Z","pushed_at":"2015-02-10T21:06:27Z","git_url":"git://github.com/fishcakez/elixir.git","ssh_url":"git@github.com:fishcakez/elixir.git","clone_url":"https://github.com/fishcakez/elixir.git","svn_url":"https://github.com/fishcakez/elixir","homepage":"http://elixir-lang.org/","size":28453,"stargazers_count":0,"watchers_count":0,"language":"Elixir","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"elixir-lang:master","ref":"master","sha":"6668c9142b851b62c4d902c9dd4cafa38b54dfb1","user":{"login":"elixir-lang","id":1481354,"avatar_url":"https://avatars.githubusercontent.com/u/1481354?v=3","gravatar_id":"","url":"https://api.github.com/users/elixir-lang","html_url":"https://github.com/elixir-lang","followers_url":"https://api.github.com/users/elixir-lang/followers","following_url":"https://api.github.com/users/elixir-lang/following{/other_user}","gists_url":"https://api.github.com/users/elixir-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/elixir-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elixir-lang/subscriptions","organizations_url":"https://api.github.com/users/elixir-lang/orgs","repos_url":"https://api.github.com/users/elixir-lang/repos","events_url":"https://api.github.com/users/elixir-lang/events{/privacy}","received_events_url":"https://api.github.com/users/elixir-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":1234714,"name":"elixir","full_name":"elixir-lang/elixir","owner":{"login":"elixir-lang","id":1481354,"avatar_url":"https://avatars.githubusercontent.com/u/1481354?v=3","gravatar_id":"","url":"https://api.github.com/users/elixir-lang","html_url":"https://github.com/elixir-lang","followers_url":"https://api.github.com/users/elixir-lang/followers","following_url":"https://api.github.com/users/elixir-lang/following{/other_user}","gists_url":"https://api.github.com/users/elixir-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/elixir-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elixir-lang/subscriptions","organizations_url":"https://api.github.com/users/elixir-lang/orgs","repos_url":"https://api.github.com/users/elixir-lang/repos","events_url":"https://api.github.com/users/elixir-lang/events{/privacy}","received_events_url":"https://api.github.com/users/elixir-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/elixir-lang/elixir","description":"Elixir is a dynamic, functional language designed for building scalable and maintainable applications","fork":false,"url":"https://api.github.com/repos/elixir-lang/elixir","forks_url":"https://api.github.com/repos/elixir-lang/elixir/forks","keys_url":"https://api.github.com/repos/elixir-lang/elixir/keys{/key_id}","collaborators_url":"https://api.github.com/repos/elixir-lang/elixir/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/elixir-lang/elixir/teams","hooks_url":"https://api.github.com/repos/elixir-lang/elixir/hooks","issue_events_url":"https://api.github.com/repos/elixir-lang/elixir/issues/events{/number}","events_url":"https://api.github.com/repos/elixir-lang/elixir/events","assignees_url":"https://api.github.com/repos/elixir-lang/elixir/assignees{/user}","branches_url":"https://api.github.com/repos/elixir-lang/elixir/branches{/branch}","tags_url":"https://api.github.com/repos/elixir-lang/elixir/tags","blobs_url":"https://api.github.com/repos/elixir-lang/elixir/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/elixir-lang/elixir/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/elixir-lang/elixir/git/refs{/sha}","trees_url":"https://api.github.com/repos/elixir-lang/elixir/git/trees{/sha}","statuses_url":"https://api.github.com/repos/elixir-lang/elixir/statuses/{sha}","languages_url":"https://api.github.com/repos/elixir-lang/elixir/languages","stargazers_url":"https://api.github.com/repos/elixir-lang/elixir/stargazers","contributors_url":"https://api.github.com/repos/elixir-lang/elixir/contributors","subscribers_url":"https://api.github.com/repos/elixir-lang/elixir/subscribers","subscription_url":"https://api.github.com/repos/elixir-lang/elixir/subscription","commits_url":"https://api.github.com/repos/elixir-lang/elixir/commits{/sha}","git_commits_url":"https://api.github.com/repos/elixir-lang/elixir/git/commits{/sha}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/comments{/number}","issue_comment_url":"https://api.github.com/repos/elixir-lang/elixir/issues/comments/{number}","contents_url":"https://api.github.com/repos/elixir-lang/elixir/contents/{+path}","compare_url":"https://api.github.com/repos/elixir-lang/elixir/compare/{base}...{head}","merges_url":"https://api.github.com/repos/elixir-lang/elixir/merges","archive_url":"https://api.github.com/repos/elixir-lang/elixir/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/elixir-lang/elixir/downloads","issues_url":"https://api.github.com/repos/elixir-lang/elixir/issues{/number}","pulls_url":"https://api.github.com/repos/elixir-lang/elixir/pulls{/number}","milestones_url":"https://api.github.com/repos/elixir-lang/elixir/milestones{/number}","notifications_url":"https://api.github.com/repos/elixir-lang/elixir/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/elixir-lang/elixir/labels{/name}","releases_url":"https://api.github.com/repos/elixir-lang/elixir/releases{/id}","created_at":"2011-01-09T08:43:57Z","updated_at":"2015-02-10T21:39:54Z","pushed_at":"2015-02-10T21:39:53Z","git_url":"git://github.com/elixir-lang/elixir.git","ssh_url":"git@github.com:elixir-lang/elixir.git","clone_url":"https://github.com/elixir-lang/elixir.git","svn_url":"https://github.com/elixir-lang/elixir","homepage":"http://elixir-lang.org/","size":44427,"stargazers_count":3437,"watchers_count":3437,"language":"Elixir","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":487,"mirror_url":null,"open_issues_count":42,"forks":487,"open_issues":42,"watchers":3437,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062"},"html":{"href":"https://github.com/elixir-lang/elixir/pull/3062"},"issue":{"href":"https://api.github.com/repos/elixir-lang/elixir/issues/3062"},"comments":{"href":"https://api.github.com/repos/elixir-lang/elixir/issues/3062/comments"},"review_comments":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062/comments"},"review_comment":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/3062/commits"},"statuses":{"href":"https://api.github.com/repos/elixir-lang/elixir/statuses/897359a5238736d989a6989eb6e0b392ecb6aea6"}}}}