Add Context
Custom contexts allow you to attach arbitrary data to an event. Often, this context is shared among any issue captured in its lifecycle. You cannot search these, but they are viewable on the issue page:
If you need to be able to search on custom data, use tags instead.
Structured Context
The best practice to attach custom data is via structured contexts. A context must always be a dictionary or map, and its values can be arbitrary. Use set-context
and give the context a unique name:
import Sentry
SentrySDK.configureScope { scope in
scope.setContext(value: [
"name": "Mighty Fighter",
"age" : 19,
"attack_type" : "melee"
], key: "character")
}
There are no restrictions for naming contexts or their fields. However, there is a set of conventions for common contexts. For more information, refer to the contexts interface developer documentation.
Size Limitations
When sending context, consider payload size limits. Sentry does not recommend sending the entire application state and large data blobs in contexts. If you exceed the maximum payload size, Sentry will respond with HTTP error 413 Payload Too Large
and reject the event.
The Sentry SDK will try its best to accommodate the data you send and trim large context payloads or truncate them entirely. For more details, see theĀ developer documentation on SDK data handling.
Additional Data
In addition to structured contexts, Sentry supports adding unstructured "Additional Data" via set-extra
. Additional Data is deprecated in favor of structured contexts and should be avoided when possible.
- Package:
- cocoapods:sentry-cocoa
- Version:
- 6.0.12
- Repository:
- https://github.com/getsentry/sentry-cocoa