{"action":"created","issue":{"url":"https://api.github.com/repos/google/conscrypt/issues/462","repository_url":"https://api.github.com/repos/google/conscrypt","labels_url":"https://api.github.com/repos/google/conscrypt/issues/462/labels{/name}","comments_url":"https://api.github.com/repos/google/conscrypt/issues/462/comments","events_url":"https://api.github.com/repos/google/conscrypt/issues/462/events","html_url":"https://github.com/google/conscrypt/pull/462","id":313690072,"number":462,"title":"Add logging macros that work on all platforms.","user":{"login":"flooey","id":215991,"avatar_url":"https://avatars2.githubusercontent.com/u/215991?v=4","gravatar_id":"","url":"https://api.github.com/users/flooey","html_url":"https://github.com/flooey","followers_url":"https://api.github.com/users/flooey/followers","following_url":"https://api.github.com/users/flooey/following{/other_user}","gists_url":"https://api.github.com/users/flooey/gists{/gist_id}","starred_url":"https://api.github.com/users/flooey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flooey/subscriptions","organizations_url":"https://api.github.com/users/flooey/orgs","repos_url":"https://api.github.com/users/flooey/repos","events_url":"https://api.github.com/users/flooey/events{/privacy}","received_events_url":"https://api.github.com/users/flooey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-04-12T11:40:53Z","updated_at":"2018-04-12T18:44:43Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/google/conscrypt/pulls/462","html_url":"https://github.com/google/conscrypt/pull/462","diff_url":"https://github.com/google/conscrypt/pull/462.diff","patch_url":"https://github.com/google/conscrypt/pull/462.patch"},"body":"This adds CONSCRYPT_LOG_X macros that redirect to either ALOG on\r\nAndroid or fprintf(stderr) on non-Android.  In the future, we could\r\nuse these to allow users to register a logging callback and send the\r\nlogs to a destination of their choice (via java.util.Logger or log4j\r\nor what have you), but for now we'll keep it simple.\r\n\r\nFixes #460."},"comment":{"url":"https://api.github.com/repos/google/conscrypt/issues/comments/380906093","html_url":"https://github.com/google/conscrypt/pull/462#issuecomment-380906093","issue_url":"https://api.github.com/repos/google/conscrypt/issues/462","id":380906093,"user":{"login":"flooey","id":215991,"avatar_url":"https://avatars2.githubusercontent.com/u/215991?v=4","gravatar_id":"","url":"https://api.github.com/users/flooey","html_url":"https://github.com/flooey","followers_url":"https://api.github.com/users/flooey/followers","following_url":"https://api.github.com/users/flooey/following{/other_user}","gists_url":"https://api.github.com/users/flooey/gists{/gist_id}","starred_url":"https://api.github.com/users/flooey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flooey/subscriptions","organizations_url":"https://api.github.com/users/flooey/orgs","repos_url":"https://api.github.com/users/flooey/repos","events_url":"https://api.github.com/users/flooey/events{/privacy}","received_events_url":"https://api.github.com/users/flooey/received_events","type":"User","site_admin":false},"created_at":"2018-04-12T18:44:43Z","updated_at":"2018-04-12T18:44:43Z","author_association":"COLLABORATOR","body":"@bsidhom fprintf is guaranteed to be thread-safe by POSIX, yep.  Concurrent writing could result in the newline being separated from the message by a write in another thread (since we write those as two separate calls), but otherwise concurrent logging is fine.\r\n\r\nstderr is unbuffered, so no need to flush.\r\n\r\nWe log almost nothing as long as tracing is turned off (which it is unless you compile with it on), so I think it's probably fine to wait until someone asks for an all-silent mode to implement it."}}
{"actor":{"display_login":"flooey"}}