I’m not sure if the rest of you have ever experienced the situation where you release an app and your reviewers start notifying you of bugs in your reviews, sometimes with a low star rating.
“After you get to certain levels it just stops working. I love the game but it just stops. If you fix the problem and i can finish the levels then it will get 5 stars.”
Basically, you released your app and missed a bug because it’s not possible to test ALL use-cases of your app. But your users DO test all possible use-cases and are experiencing bugs you didn’t anticipate, and many of those who find them never notify you, they just stop playing.
To beat this issue, I’m going to implement a free logging library for Corona that will send Corona crash logs from your users to Loggly, which is a cloud-based SaaS log aggregator
It would make use of Corona’s error handling functionality, but instead of writing to console or a popup, it would first encode the error log into JSON write it to a Loggly logging server for aggregation, so that you can view (and even visualize) real logs from actual users of your released app.
It’d look something like this
local logData local function cloudLogger( event ) if releaseBuild then --Theoretical function that use Corona's JSON libraries --to parse event.error message into a JSON string that --makes sense to Loggly's servers logData = logEncoder.encode(event.errormessage) network.request(http://logs-01.loggly.com/bulk/TOKEN/tag/bulk/, "POST", networkListener, logData) else print( "Not handling the unhandled error \>\>\>\n", event.errorMessage ) end return releaseBuild end runtime:addEventListener("unhandledError", cloudLogger)
Of course this is a greatly oversimplified example, but it conveys the basic idea of sending the log data to a cloud-based log aggregator like Loggly for aggregation. When this library is completed I’ll post the results of its usage and the git where you can download the code for use :).
Would anyone be interested to see the results?