On device and server.
Think of data collection. It's better when you have it on the server side because, in addition to your logs it's easy to build a dashboard that can represent this data.
collecting this data both on the device and on the server and later syncing is a good idea especially with the users who may have trouble with internet connectivity.
Hope that helps.