{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Logging/issues/331","labels_url":"https://api.github.com/repos/aspnet/Logging/issues/331/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Logging/issues/331/comments","events_url":"https://api.github.com/repos/aspnet/Logging/issues/331/events","html_url":"https://github.com/aspnet/Logging/issues/331","id":124419300,"number":331,"title":"Changes to Logging API surface","user":{"login":"muratg","id":1808428,"avatar_url":"https://avatars.githubusercontent.com/u/1808428?v=3","gravatar_id":"","url":"https://api.github.com/users/muratg","html_url":"https://github.com/muratg","followers_url":"https://api.github.com/users/muratg/followers","following_url":"https://api.github.com/users/muratg/following{/other_user}","gists_url":"https://api.github.com/users/muratg/gists{/gist_id}","starred_url":"https://api.github.com/users/muratg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muratg/subscriptions","organizations_url":"https://api.github.com/users/muratg/orgs","repos_url":"https://api.github.com/users/muratg/repos","events_url":"https://api.github.com/users/muratg/events{/privacy}","received_events_url":"https://api.github.com/users/muratg/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aspnet/Logging/labels/2%20-%20Working","name":"2 - Working","color":"CCCCCC"},{"url":"https://api.github.com/repos/aspnet/Logging/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"BrennanConroy","id":7574801,"avatar_url":"https://avatars.githubusercontent.com/u/7574801?v=3","gravatar_id":"","url":"https://api.github.com/users/BrennanConroy","html_url":"https://github.com/BrennanConroy","followers_url":"https://api.github.com/users/BrennanConroy/followers","following_url":"https://api.github.com/users/BrennanConroy/following{/other_user}","gists_url":"https://api.github.com/users/BrennanConroy/gists{/gist_id}","starred_url":"https://api.github.com/users/BrennanConroy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrennanConroy/subscriptions","organizations_url":"https://api.github.com/users/BrennanConroy/orgs","repos_url":"https://api.github.com/users/BrennanConroy/repos","events_url":"https://api.github.com/users/BrennanConroy/events{/privacy}","received_events_url":"https://api.github.com/users/BrennanConroy/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/aspnet/Logging/milestones/16","html_url":"https://github.com/aspnet/Logging/milestones/1.0.0-rc2","labels_url":"https://api.github.com/repos/aspnet/Logging/milestones/16/labels","id":1377955,"number":16,"title":"1.0.0-rc2","description":null,"creator":{"login":"muratg","id":1808428,"avatar_url":"https://avatars.githubusercontent.com/u/1808428?v=3","gravatar_id":"","url":"https://api.github.com/users/muratg","html_url":"https://github.com/muratg","followers_url":"https://api.github.com/users/muratg/followers","following_url":"https://api.github.com/users/muratg/following{/other_user}","gists_url":"https://api.github.com/users/muratg/gists{/gist_id}","starred_url":"https://api.github.com/users/muratg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muratg/subscriptions","organizations_url":"https://api.github.com/users/muratg/orgs","repos_url":"https://api.github.com/users/muratg/repos","events_url":"https://api.github.com/users/muratg/events{/privacy}","received_events_url":"https://api.github.com/users/muratg/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":15,"state":"open","created_at":"2015-10-26T19:36:24Z","updated_at":"2016-01-12T18:49:49Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-12-31T00:59:36Z","updated_at":"2016-01-17T00:47:14Z","closed_at":null,"body":"- Have all levels (`Critical`, `Debug`, `Error`, `Warning`, `Information`, `Verbose`) have the same overloads as extension methods: \r\n  - `Log....(this ILogger logger, EventId eventId, Exception exception, string message, params object[] args);`\r\n  - `Log....(this ILogger logger, EventId eventId, string message, params object[] args);`\r\n  - `Log....(this ILogger logger, string message, params object[] args);`\r\n- `EventId` has implicit conversion from/to Int and if you want to use string, you do the conversion yourself\r\n- Our frameworks will be passing in both `int` and `string` based `EventId`s. \r\n- Event IDs (string versions) in our frameworks should be PascalCased and should typically be two words. Some examples:\r\n  - \"QueryExecuting\"\r\n  - \"ActionExecuting\"\r\n  - \"ContentNegotiationFailed\"\r\n  - ...\r\n- Change the `LoggerMessage.Define` to take an `EventId` instead of `int`\r\n  - There may be other places where `int eventId` could be used. Convert them to EventId.\r\n- `MessageFormatter` should be state to `string` (and not do formatting at all) \r\n- `MessageFormatter` state should never be null, null check shouldn’t be done in runtime\r\n- Remove `ILogValues` and use `IReadOnlyList<KeyValuePair<string, object>>`\r\n- `ILogger` change: Instead of `void Log(LogLevel logLevel, int eventId, object state, Exception exception, Func<object, Exception, string> formatter)` we should use `void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)`"},"comment":{"url":"https://api.github.com/repos/aspnet/Logging/issues/comments/172280070","html_url":"https://github.com/aspnet/Logging/issues/331#issuecomment-172280070","issue_url":"https://api.github.com/repos/aspnet/Logging/issues/331","id":172280070,"user":{"login":"Eilon","id":202643,"avatar_url":"https://avatars.githubusercontent.com/u/202643?v=3","gravatar_id":"","url":"https://api.github.com/users/Eilon","html_url":"https://github.com/Eilon","followers_url":"https://api.github.com/users/Eilon/followers","following_url":"https://api.github.com/users/Eilon/following{/other_user}","gists_url":"https://api.github.com/users/Eilon/gists{/gist_id}","starred_url":"https://api.github.com/users/Eilon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Eilon/subscriptions","organizations_url":"https://api.github.com/users/Eilon/orgs","repos_url":"https://api.github.com/users/Eilon/repos","events_url":"https://api.github.com/users/Eilon/events{/privacy}","received_events_url":"https://api.github.com/users/Eilon/received_events","type":"User","site_admin":false},"created_at":"2016-01-17T00:47:14Z","updated_at":"2016-01-17T00:47:14Z","body":"@NickCraver this change hasn't been committed yet, hence no announcement or discussion yet either. It's still being worked on."}}