Logs and breadcrumbs are both custom additions to an integration. Logs are heavier than breadcrumbs. We recommend having no more than 20 logs and 100 breadcrumbs per session. Logs are used to capture events in real-time that you'd like to be able to search, filter, aggregate, or alert on in the future. You can also add properties (i.e., descriptors) to logs. Breadcrumbs are short snippets of info (up to 256 characters) that only add context to user timelines. You cannot search, filter, aggregate, or alert on breadcrumbs.
By default, iOS SDK versions 5.16.0 and below have a breadcrumb limit of 40. iOS SDK versions 5.16.1 and above have a default limit of 100 breadcrumbs. For Android SDK versions 4.7.0 and above, the default is 100 breadcrumbs. If you'd like to increase the number of breadcrumbs, you can send per session, please contact support@embrace.io.
Logs
A network call is fired off whenever a log is triggered and is sent independently of the session payload. Because a network call is fired off when each log is triggered, we only recommend wrapping logs around key events and having a max of 100 logs per session - to minimize the impact on the user. Logs are aggregated on the Error Logging page so you can monitor trends over time and across versions. There is a 128-character limit for messages, a 10-property-per-log limit, and a 256-character limit for properties.
Examples of logs: Purchase failure, Purchase success
Breadcrumbs
In contrast, breadcrumbs are sent all together in the session payload at the end of the session. Like logs, breadcrumbs will appear in a session. Breadcrumbs are used to provide context when you're debugging.
Examples of breadcrumbs: File 1/3 has synced, File deleted, Process paused
To learn more about when to use a breadcrumb over a log or vice versa, check out this article; https://blog.embrace.io/adding-visibility-through-logs/.