{"action":"created","comment":{"url":"https://api.github.com/repos/HubSpot/Blazar/pulls/comments/83480914","pull_request_review_id":4311164,"id":83480914,"diff_hunk":"@@ -0,0 +1,99 @@\n+package com.hubspot.blazar.config;\n+\n+import java.net.InetAddress;\n+import java.net.UnknownHostException;\n+\n+import javax.validation.constraints.NotNull;\n+\n+import com.fasterxml.jackson.annotation.JsonCreator;\n+import com.fasterxml.jackson.annotation.JsonProperty;\n+import com.fasterxml.jackson.annotation.JsonTypeName;\n+import com.getsentry.raven.logback.SentryAppender;\n+\n+import ch.qos.logback.classic.Level;\n+import ch.qos.logback.classic.LoggerContext;\n+import ch.qos.logback.classic.spi.ILoggingEvent;\n+import ch.qos.logback.core.Appender;\n+import io.dropwizard.logging.AbstractAppenderFactory;\n+import io.dropwizard.logging.async.AsyncAppenderFactory;\n+import io.dropwizard.logging.filter.LevelFilterFactory;\n+import io.dropwizard.logging.layout.LayoutFactory;\n+\n+/**\n+ * This class configures sentry via a Logback appender the resource\n+ * file META-INF/services/io.dropwizard.logging.AppenderFactory is responsible\n+ * for telling Dropwizard's logging mechanics to create an appender using this class\n+ * provided that the logging configuration of type \"sentry\" is available.\n+ *\n+ * <p>\n+ * sentryDsn: string (Data Source Name) is the secret Sentry gives you to report exceptions with.\n+ * sentryRelease: string the version of blazar you are deploying. Sentry will tag exceptions using this release value\n+ *\n+ * This appender is only used if you configure the logging appender in the dropwizard config for sentry as follows:\n+ * {@Code\n+ *  logging:\n+ *    appenders:\n+ *      - type: sentry\n+ *        sentryDsn: http://some_Sentry_provided_DSN\n+ *        sentryRelease: \"PROD\"\n+ * }\n+ *\n+ */\n+@JsonTypeName(\"sentry\")\n+public class BlazarSentryConfiguration extends AbstractAppenderFactory<ILoggingEvent> {","path":"BlazarService/src/main/java/com/hubspot/blazar/config/BlazarSentryConfiguration.java","position":null,"original_position":43,"commit_id":"13cbe4280229aa6b47e3e95eb76a067b8d64f65f","original_commit_id":"0c2890908cf16b630fde798e14d586b96ea2b6f7","user":{"login":"gchomatas","id":840269,"avatar_url":"https://avatars.githubusercontent.com/u/840269?v=3","gravatar_id":"","url":"https://api.github.com/users/gchomatas","html_url":"https://github.com/gchomatas","followers_url":"https://api.github.com/users/gchomatas/followers","following_url":"https://api.github.com/users/gchomatas/following{/other_user}","gists_url":"https://api.github.com/users/gchomatas/gists{/gist_id}","starred_url":"https://api.github.com/users/gchomatas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gchomatas/subscriptions","organizations_url":"https://api.github.com/users/gchomatas/orgs","repos_url":"https://api.github.com/users/gchomatas/repos","events_url":"https://api.github.com/users/gchomatas/events{/privacy}","received_events_url":"https://api.github.com/users/gchomatas/received_events","type":"User","site_admin":false},"body":"Seems that this class serves as both the appender factory and special dropwizard config class but better name it `SentryAppenderFactory`. It would more easy to understand its main purpose.","created_at":"2016-10-14T18:52:06Z","updated_at":"2016-10-14T18:52:23Z","html_url":"https://github.com/HubSpot/Blazar/pull/267#discussion_r83480914","pull_request_url":"https://api.github.com/repos/HubSpot/Blazar/pulls/267","_links":{"self":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/comments/83480914"},"html":{"href":"https://github.com/HubSpot/Blazar/pull/267#discussion_r83480914"},"pull_request":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/267"}}},"pull_request":{"url":"https://api.github.com/repos/HubSpot/Blazar/pulls/267","id":88909728,"html_url":"https://github.com/HubSpot/Blazar/pull/267","diff_url":"https://github.com/HubSpot/Blazar/pull/267.diff","patch_url":"https://github.com/HubSpot/Blazar/pull/267.patch","issue_url":"https://api.github.com/repos/HubSpot/Blazar/issues/267","number":267,"state":"open","locked":false,"title":"Add a logback appender for sentry to Blazar","user":{"login":"jonathanwgoodwin","id":3247956,"avatar_url":"https://avatars.githubusercontent.com/u/3247956?v=3","gravatar_id":"","url":"https://api.github.com/users/jonathanwgoodwin","html_url":"https://github.com/jonathanwgoodwin","followers_url":"https://api.github.com/users/jonathanwgoodwin/followers","following_url":"https://api.github.com/users/jonathanwgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/jonathanwgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/jonathanwgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonathanwgoodwin/subscriptions","organizations_url":"https://api.github.com/users/jonathanwgoodwin/orgs","repos_url":"https://api.github.com/users/jonathanwgoodwin/repos","events_url":"https://api.github.com/users/jonathanwgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/jonathanwgoodwin/received_events","type":"User","site_admin":false},"body":"cc: @gchomatas \r\n\r\n\r\nThis appender is only used if you configure the logging appender for sentry as follows:\r\n\r\n```yaml\r\nlogging:\r\n  appenders:\r\n  - type: sentry\r\n    sentryDsn: <Sentry provided DSN>\r\n    sentryRelease: \"QA\"\r\n```","created_at":"2016-10-11T20:57:03Z","updated_at":"2016-10-14T18:52:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b6219f91f448a61cff4330d04ea177c1f99802db","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/HubSpot/Blazar/pulls/267/commits","review_comments_url":"https://api.github.com/repos/HubSpot/Blazar/pulls/267/comments","review_comment_url":"https://api.github.com/repos/HubSpot/Blazar/pulls/comments{/number}","comments_url":"https://api.github.com/repos/HubSpot/Blazar/issues/267/comments","statuses_url":"https://api.github.com/repos/HubSpot/Blazar/statuses/13cbe4280229aa6b47e3e95eb76a067b8d64f65f","head":{"label":"HubSpot:sentry","ref":"sentry","sha":"13cbe4280229aa6b47e3e95eb76a067b8d64f65f","user":{"login":"HubSpot","id":326419,"avatar_url":"https://avatars.githubusercontent.com/u/326419?v=3","gravatar_id":"","url":"https://api.github.com/users/HubSpot","html_url":"https://github.com/HubSpot","followers_url":"https://api.github.com/users/HubSpot/followers","following_url":"https://api.github.com/users/HubSpot/following{/other_user}","gists_url":"https://api.github.com/users/HubSpot/gists{/gist_id}","starred_url":"https://api.github.com/users/HubSpot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HubSpot/subscriptions","organizations_url":"https://api.github.com/users/HubSpot/orgs","repos_url":"https://api.github.com/users/HubSpot/repos","events_url":"https://api.github.com/users/HubSpot/events{/privacy}","received_events_url":"https://api.github.com/users/HubSpot/received_events","type":"Organization","site_admin":false},"repo":{"id":38639709,"name":"Blazar","full_name":"HubSpot/Blazar","owner":{"login":"HubSpot","id":326419,"avatar_url":"https://avatars.githubusercontent.com/u/326419?v=3","gravatar_id":"","url":"https://api.github.com/users/HubSpot","html_url":"https://github.com/HubSpot","followers_url":"https://api.github.com/users/HubSpot/followers","following_url":"https://api.github.com/users/HubSpot/following{/other_user}","gists_url":"https://api.github.com/users/HubSpot/gists{/gist_id}","starred_url":"https://api.github.com/users/HubSpot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HubSpot/subscriptions","organizations_url":"https://api.github.com/users/HubSpot/orgs","repos_url":"https://api.github.com/users/HubSpot/repos","events_url":"https://api.github.com/users/HubSpot/events{/privacy}","received_events_url":"https://api.github.com/users/HubSpot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HubSpot/Blazar","description":"An out-of-this world build system!","fork":false,"url":"https://api.github.com/repos/HubSpot/Blazar","forks_url":"https://api.github.com/repos/HubSpot/Blazar/forks","keys_url":"https://api.github.com/repos/HubSpot/Blazar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HubSpot/Blazar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HubSpot/Blazar/teams","hooks_url":"https://api.github.com/repos/HubSpot/Blazar/hooks","issue_events_url":"https://api.github.com/repos/HubSpot/Blazar/issues/events{/number}","events_url":"https://api.github.com/repos/HubSpot/Blazar/events","assignees_url":"https://api.github.com/repos/HubSpot/Blazar/assignees{/user}","branches_url":"https://api.github.com/repos/HubSpot/Blazar/branches{/branch}","tags_url":"https://api.github.com/repos/HubSpot/Blazar/tags","blobs_url":"https://api.github.com/repos/HubSpot/Blazar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HubSpot/Blazar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HubSpot/Blazar/git/refs{/sha}","trees_url":"https://api.github.com/repos/HubSpot/Blazar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HubSpot/Blazar/statuses/{sha}","languages_url":"https://api.github.com/repos/HubSpot/Blazar/languages","stargazers_url":"https://api.github.com/repos/HubSpot/Blazar/stargazers","contributors_url":"https://api.github.com/repos/HubSpot/Blazar/contributors","subscribers_url":"https://api.github.com/repos/HubSpot/Blazar/subscribers","subscription_url":"https://api.github.com/repos/HubSpot/Blazar/subscription","commits_url":"https://api.github.com/repos/HubSpot/Blazar/commits{/sha}","git_commits_url":"https://api.github.com/repos/HubSpot/Blazar/git/commits{/sha}","comments_url":"https://api.github.com/repos/HubSpot/Blazar/comments{/number}","issue_comment_url":"https://api.github.com/repos/HubSpot/Blazar/issues/comments{/number}","contents_url":"https://api.github.com/repos/HubSpot/Blazar/contents/{+path}","compare_url":"https://api.github.com/repos/HubSpot/Blazar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HubSpot/Blazar/merges","archive_url":"https://api.github.com/repos/HubSpot/Blazar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HubSpot/Blazar/downloads","issues_url":"https://api.github.com/repos/HubSpot/Blazar/issues{/number}","pulls_url":"https://api.github.com/repos/HubSpot/Blazar/pulls{/number}","milestones_url":"https://api.github.com/repos/HubSpot/Blazar/milestones{/number}","notifications_url":"https://api.github.com/repos/HubSpot/Blazar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HubSpot/Blazar/labels{/name}","releases_url":"https://api.github.com/repos/HubSpot/Blazar/releases{/id}","deployments_url":"https://api.github.com/repos/HubSpot/Blazar/deployments","created_at":"2015-07-06T18:59:45Z","updated_at":"2016-10-10T15:03:34Z","pushed_at":"2016-10-14T18:50:35Z","git_url":"git://github.com/HubSpot/Blazar.git","ssh_url":"git@github.com:HubSpot/Blazar.git","clone_url":"https://github.com/HubSpot/Blazar.git","svn_url":"https://github.com/HubSpot/Blazar","homepage":null,"size":3960,"stargazers_count":50,"watchers_count":50,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":7,"forks":5,"open_issues":7,"watchers":50,"default_branch":"master"}},"base":{"label":"HubSpot:hs-master","ref":"hs-master","sha":"dbac93e71ff951d501210cf497c7a1058b4a7642","user":{"login":"HubSpot","id":326419,"avatar_url":"https://avatars.githubusercontent.com/u/326419?v=3","gravatar_id":"","url":"https://api.github.com/users/HubSpot","html_url":"https://github.com/HubSpot","followers_url":"https://api.github.com/users/HubSpot/followers","following_url":"https://api.github.com/users/HubSpot/following{/other_user}","gists_url":"https://api.github.com/users/HubSpot/gists{/gist_id}","starred_url":"https://api.github.com/users/HubSpot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HubSpot/subscriptions","organizations_url":"https://api.github.com/users/HubSpot/orgs","repos_url":"https://api.github.com/users/HubSpot/repos","events_url":"https://api.github.com/users/HubSpot/events{/privacy}","received_events_url":"https://api.github.com/users/HubSpot/received_events","type":"Organization","site_admin":false},"repo":{"id":38639709,"name":"Blazar","full_name":"HubSpot/Blazar","owner":{"login":"HubSpot","id":326419,"avatar_url":"https://avatars.githubusercontent.com/u/326419?v=3","gravatar_id":"","url":"https://api.github.com/users/HubSpot","html_url":"https://github.com/HubSpot","followers_url":"https://api.github.com/users/HubSpot/followers","following_url":"https://api.github.com/users/HubSpot/following{/other_user}","gists_url":"https://api.github.com/users/HubSpot/gists{/gist_id}","starred_url":"https://api.github.com/users/HubSpot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HubSpot/subscriptions","organizations_url":"https://api.github.com/users/HubSpot/orgs","repos_url":"https://api.github.com/users/HubSpot/repos","events_url":"https://api.github.com/users/HubSpot/events{/privacy}","received_events_url":"https://api.github.com/users/HubSpot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HubSpot/Blazar","description":"An out-of-this world build system!","fork":false,"url":"https://api.github.com/repos/HubSpot/Blazar","forks_url":"https://api.github.com/repos/HubSpot/Blazar/forks","keys_url":"https://api.github.com/repos/HubSpot/Blazar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HubSpot/Blazar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HubSpot/Blazar/teams","hooks_url":"https://api.github.com/repos/HubSpot/Blazar/hooks","issue_events_url":"https://api.github.com/repos/HubSpot/Blazar/issues/events{/number}","events_url":"https://api.github.com/repos/HubSpot/Blazar/events","assignees_url":"https://api.github.com/repos/HubSpot/Blazar/assignees{/user}","branches_url":"https://api.github.com/repos/HubSpot/Blazar/branches{/branch}","tags_url":"https://api.github.com/repos/HubSpot/Blazar/tags","blobs_url":"https://api.github.com/repos/HubSpot/Blazar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HubSpot/Blazar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HubSpot/Blazar/git/refs{/sha}","trees_url":"https://api.github.com/repos/HubSpot/Blazar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HubSpot/Blazar/statuses/{sha}","languages_url":"https://api.github.com/repos/HubSpot/Blazar/languages","stargazers_url":"https://api.github.com/repos/HubSpot/Blazar/stargazers","contributors_url":"https://api.github.com/repos/HubSpot/Blazar/contributors","subscribers_url":"https://api.github.com/repos/HubSpot/Blazar/subscribers","subscription_url":"https://api.github.com/repos/HubSpot/Blazar/subscription","commits_url":"https://api.github.com/repos/HubSpot/Blazar/commits{/sha}","git_commits_url":"https://api.github.com/repos/HubSpot/Blazar/git/commits{/sha}","comments_url":"https://api.github.com/repos/HubSpot/Blazar/comments{/number}","issue_comment_url":"https://api.github.com/repos/HubSpot/Blazar/issues/comments{/number}","contents_url":"https://api.github.com/repos/HubSpot/Blazar/contents/{+path}","compare_url":"https://api.github.com/repos/HubSpot/Blazar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HubSpot/Blazar/merges","archive_url":"https://api.github.com/repos/HubSpot/Blazar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HubSpot/Blazar/downloads","issues_url":"https://api.github.com/repos/HubSpot/Blazar/issues{/number}","pulls_url":"https://api.github.com/repos/HubSpot/Blazar/pulls{/number}","milestones_url":"https://api.github.com/repos/HubSpot/Blazar/milestones{/number}","notifications_url":"https://api.github.com/repos/HubSpot/Blazar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HubSpot/Blazar/labels{/name}","releases_url":"https://api.github.com/repos/HubSpot/Blazar/releases{/id}","deployments_url":"https://api.github.com/repos/HubSpot/Blazar/deployments","created_at":"2015-07-06T18:59:45Z","updated_at":"2016-10-10T15:03:34Z","pushed_at":"2016-10-14T18:50:35Z","git_url":"git://github.com/HubSpot/Blazar.git","ssh_url":"git@github.com:HubSpot/Blazar.git","clone_url":"https://github.com/HubSpot/Blazar.git","svn_url":"https://github.com/HubSpot/Blazar","homepage":null,"size":3960,"stargazers_count":50,"watchers_count":50,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":7,"forks":5,"open_issues":7,"watchers":50,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/267"},"html":{"href":"https://github.com/HubSpot/Blazar/pull/267"},"issue":{"href":"https://api.github.com/repos/HubSpot/Blazar/issues/267"},"comments":{"href":"https://api.github.com/repos/HubSpot/Blazar/issues/267/comments"},"review_comments":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/267/comments"},"review_comment":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/HubSpot/Blazar/pulls/267/commits"},"statuses":{"href":"https://api.github.com/repos/HubSpot/Blazar/statuses/13cbe4280229aa6b47e3e95eb76a067b8d64f65f"}}}}
{"actor":{"display_login":"gchomatas"}}