Remote Logging and it’s importance

Prashant Nayak

Remote Logging and it’s importance

Application developers have to deal with user reported issues that are hard to reproduce. The considerable amount of time is spent on analyzing issues with rare occurrences and still some issues remain a mystery. It would be a great help if developers get to know what the end user was doing at the time of the error. This can be achieved by remote logging where relevant information is synced to a server by the Application and product owner or developer can access the data. This also helps in finding bugs at an earlier stage even before end users starts complaining. So it helps in finding bugs faster and fixing them faster. The application can set logs to catch business logic errors and unexpected errors and logs are synced to remote server that helps developers in investigating the problems.

There are many solutions available for crash reporting, but most of them do not provide options to log business logic errors or any unhandled scenario. Let’s look at some possible solutions available for remote logging.

Splunk Mint
This is primarily a mobile analytics tool that has many additional features, remote logging being one of them. Developers can access the data at Mint management console. For comprehensive data and powerful search capability, one can setup Mint App to make the best use Splunk Mint intelligence.

splunkmint

Key points
– Sends detailed information to the server for all events.
– Provides an option to send log cat output to the server.
– Log level can be set.
– Allows breadcrumbs to be added to crash reports.
– A transaction can be configured and tracked separately.
– Free version available with limitations.
– Provides flexible options for upgrading to premium plans.
– Logs are retained for a week only, but logs can be retained forever by setting up Mint App.
– Mint App provides a powerful search mechanism to filter required events.
– Supports iOS application.

Bugfender
This was initially developed as an internal tool by Mobile Jazz. It has an SDK which is simple to integrate and APIs exposed are easy to understand. Free version retains the logs for a short period of time, but it provides flexible options to upgrade to premium plans. It’s not as feature-rich as Splunk Mint but serves the purpose well in most of the scenarios.

bugfender

Key points
– Easy to integrate and one can start using in no time.
– Logs are organized by sessions.
– Log level can be set.
– When an issue with business logic is reported by Application, it is also accompanied by device log cat.
– Remote logging can be enabled or disabled for a specific device remotely.
– Free version available with limitations.
– Provide flexible options for upgrading to premium plans.
– Supports iOS application.

Mobile Analytics tools
There are many mobile analytics tools available and they can be used to for remote logging using analytics events. But the dashboard will not provide any easy interface to filter issues, so one has to analyze the requirements and dashboard capabilities before deciding on the right tool.

Key points
– Mobile analytics tool can serve a dual purpose.
– It’s difficult to filter issues using Analytics dashboard.
– It’s not straightforward to sync log cat output.
– Many analytics tools are available for free and support both Android and iOS.

Custom implementation
If none of the available solutions suits the needs, one can go for custom implementation. Firebase real-time database can be used for storing logs and relevant data. AWS dynamoDB can also be considered for custom implementation. Sending logs to cloud watch using a combination of sqs/sns could be another option.

Key points
– Only required functionalities are implemented, so it helps in keeping apk size and data usage minimum.
– Requires considerable amount of effort in implementation.
– Filtering data will not be easy and one has to come with an appropriate solution for that.
– Supporting iOS will require additional effort.

References
https://mint.splunk.com/
https://bugfender.com/
https://firebase.google.com/

 

about the author

Prashant Nayak