Thanks for the feedback! I’m glad you’ve discovered Graylog.
Re: Approach, you are 100% right. I am sending messages real time as they are generated.
I would love to hear more about your use case.
I think my use case is a little different from yours, in that I am collecting application usage data vs. application logs. I want the data as soon as the app generates the event.
One of my use cases for real time data is alerting on some condition. So, I can setup Graylog to send an e-mail notification to the user or somebody the user knows in case some critical condition has been reached (user is in a bad location or the app thinks the user is not in a good state). It is even possible to integrate with Twilio and send a text message to the user or to somebody the user knows. Of course, you could use the native Android notification service as well.
I’m also writing app/log data to a local SQLite instance. It works great! I can easily read, write and analyze the data locally. I plan on using SQLite as the app data buffer, on the premise I cannot send logs and/or decide that I want to batch sending messages if there is a large backlog of messages.
In regards to local logging, I think the log4j appender works fine. It is then possible access the logs locally through the local file browser. Off the shelf tools like Android File Transfer/Kies will work as well.
I’m trying to keep things as generic as possible so I can port the app over to other platforms with a minimum amount of work. Hence, I’ve not invested any time in developing a proper integrated Android GELF client.
I will be running some performance tests over the next few days. The goal is to see if the collection method I’ve come up with is going to work for lower end Android devices. I’ll post the results here if they turn out to be interesting/helpful for others.
I am still figuring things out as a new developer — it is a fun journey though.
Please keep me posted on what you end up doing.