{"action":"created","issue":{"url":"https://api.github.com/repos/mspnp/semantic-logging/issues/1","labels_url":"https://api.github.com/repos/mspnp/semantic-logging/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/mspnp/semantic-logging/issues/1/comments","events_url":"https://api.github.com/repos/mspnp/semantic-logging/issues/1/events","html_url":"https://github.com/mspnp/semantic-logging/issues/1","id":57339399,"number":1,"title":"Processing a SLAB-created file holding event data","user":{"login":"JMerrill","id":1194073,"avatar_url":"https://avatars.githubusercontent.com/u/1194073?v=3","gravatar_id":"","url":"https://api.github.com/users/JMerrill","html_url":"https://github.com/JMerrill","followers_url":"https://api.github.com/users/JMerrill/followers","following_url":"https://api.github.com/users/JMerrill/following{/other_user}","gists_url":"https://api.github.com/users/JMerrill/gists{/gist_id}","starred_url":"https://api.github.com/users/JMerrill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JMerrill/subscriptions","organizations_url":"https://api.github.com/users/JMerrill/orgs","repos_url":"https://api.github.com/users/JMerrill/repos","events_url":"https://api.github.com/users/JMerrill/events{/privacy}","received_events_url":"https://api.github.com/users/JMerrill/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mspnp/semantic-logging/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-11T16:28:06Z","updated_at":"2015-06-27T20:58:39Z","closed_at":null,"body":"(I copied this issue from the Codeplex site; no one had responded to it there.)\r\n\r\nThe documentation describes both in-process and out-of-process mechanisms for processing events as they occur, in real time. I was planning to update my application that now writes (rather unstructured) text messages to a file for examination later (via redirected Console output) so that it also writes the same events using SLAB. \r\n\r\nI was then planning to write an application that reads the resulting event file(s) and does different things with the different kinds of events. (That should be much easier than reading the text file and parsing the different barely-structured message formats that now exist in the pure text file.) This would be entirely asynchronous to the creation of the event files. \r\n\r\nFor example, some things that are encountered could be \"data problems\" with the plan of sending an email to the users who entered bad data. Other things (like a failure to access the database or getting errors from a 3rd-party API) could be \"processing problems\" about which administrators should be notified. Performance data (how long different things take) could also be recorded, to build a profile of application performance to check for possible issues as data size increases. \r\n\r\nI have not seen anything that shows me how I can take a file produced by SLAB and treat it as an \"event stream\" for processing later. (I could surely do this if I built my own way of serializing structured copies of the event data and used it instead of SLAB.) Is that possible? \r\n\r\nThank you for any information."},"comment":{"url":"https://api.github.com/repos/mspnp/semantic-logging/issues/comments/116143545","html_url":"https://github.com/mspnp/semantic-logging/issues/1#issuecomment-116143545","issue_url":"https://api.github.com/repos/mspnp/semantic-logging/issues/1","id":116143545,"user":{"login":"bennage","id":118161,"avatar_url":"https://avatars.githubusercontent.com/u/118161?v=3","gravatar_id":"","url":"https://api.github.com/users/bennage","html_url":"https://github.com/bennage","followers_url":"https://api.github.com/users/bennage/followers","following_url":"https://api.github.com/users/bennage/following{/other_user}","gists_url":"https://api.github.com/users/bennage/gists{/gist_id}","starred_url":"https://api.github.com/users/bennage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennage/subscriptions","organizations_url":"https://api.github.com/users/bennage/orgs","repos_url":"https://api.github.com/users/bennage/repos","events_url":"https://api.github.com/users/bennage/events{/privacy}","received_events_url":"https://api.github.com/users/bennage/received_events","type":"User","site_admin":false},"created_at":"2015-06-27T20:58:39Z","updated_at":"2015-06-27T20:58:39Z","body":"@JMerrill My apologies. We've been distracted for the last several months and lot has slipped through cracks.\r\n\r\nTo address you question, there are lots different ways to handle what you want to do. \r\nOne way would be to create a [custom sink](https://msdn.microsoft.com/en-us/library/dn775003(v=pandp.20).aspx) to pump the events to a services like [Event Hub](http://azure.microsoft.com/en-us/services/event-hubs/). Once the events are in event hub, you could write [an event processor](https://msdn.microsoft.com/en-us/library/dn789972.aspx) to do whatever custom logic that you would like. The custom sink could run either in-process or out-of-process. We encourage out-of-process when possible.\r\n\r\nWe have some example event processors in our [data-pipeline repo](https://github.com/mspnp/data-pipeline).\r\n\r\nI hope this is helpful.\r\n\r\n//cc @manikrish Do you have anything else to add? "}}