We've detected that you are using the Brave browser. This site does not display correctly when the Brave Shields are enabled. Please set your Shields to Down.
For AI agents: visit https://developer-onetrust-com.proxy.library.upenn.edu/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI.
This page documents the logs printed by the SDK and features to support enabling and writing logs to a file in the event troubleshooting needs to occur.
Customize SDK Log Levels
The OneTrust SDK supports the ability to customize log types printed to the console. You can control this log level by passing in your preferred minimum log level.
// Swift
OTPublishersHeadlessSDK.shared.enableOTSDKLog(.debug)
// ObjC
[OTPublishersHeadlessSDK.shared enableOTSDKLog:debug];
Log Level
Description
OTLoggerConstant.error
Logs only errors.
OTLoggerConstant.warning
Logs warnings and everything above.
OTLoggerConstant.info
Logs info and everything above.
OTLoggerConstant.debug
Logs debug and everything above.
OTLoggerConstant.verbose
Logs verbose and everything above.
OTLoggerConstant.noLogs
Turns off all SDK logging.
Write SDK Logs to a File
The OneTrust SDK supports the ability to write debug logs to file in the event of an issue where the OneTrust team needs to support. Enabling SDK verbose logging will write all the SDK logs to the OTPublisherHeadlessSDKLogs.txt file under Document Directory.
// Swift
OTPublishersHeadlessSDK.shared.writeLogsToFile(true, debugLog: true)
// ObjC
[OTPublishersHeadlessSDK.shared writeLogsToFile:true debugLog:true];
Parameter
Description
writeLogs
Logs will only be written to file when passed as true.
debugLog
Passing true will write all types of logs to the file. Passing false will omit all log types other than error, warning, and info.
Error Logs
Error Code
Description
5
Thrown when invalid language code passed during startSDK() call.
Note: This error code is deprecated. The startSDK() method will fallback to en language code when not specifically passed on latest SDK versions.
6
Thrown when invalid domain identifier passed during startSDK() call. - Thrown when there is no internet connectivity during startSDK() call.
9
Thrown when invalid request URL generated as part of startSDK() call.
11
Thrown when incorrect request is generated for a request of type GET.
13
Thrown when a valid response is received for a request, but the status code is not 200.
14
Thrown when a network request has failed as part of retry of a request (except for time out).
16
Thrown when the data returned for POST request is nil (empty).
18
Thrown when maximum retry attempts have been reached.
19
Thrown when a network request has failed (except for time out).
20
Thrown when a network request has failed (generic).
22
Thrown when unable to fetch the original request URL after receiving a response for a POST request.
38
Invalid response received for the OT SDK network request. Thrown when 1) there is version mismatch between published version and SDK version 2) when incorrect CDN location is used or 3) when app ID is wrong or has not been published to.
ManagerError
Represents the HeadlessSDK manager related errors in OT SDK.
NetworkError
Represents the network layer related errors in OT SDK.
SDK Initialization
Message
Log Type
Log Tag
Description
Comments
error while fetching OT banner data
Error
NetworkRequestHandler
Logged when SDK cannot give callback to app on Downloading data.
This is caused when the OTSDK Callback passed by Application was null. The Application can pass a valid OTCallBack instance on getting the error.
network call response error out = + error message
Error
NetworkRequestHandler
Logged when OT SDK data network call failed.
empty parameters passed
Warning
OTPublishersHeadlessSDK
Logged when the Application has initialized the SDK with empty parameters.
SDK will throw failure callback and pass error code.
Invalid language code passed
Warning
OTPublishersHeadlessSDK
This is logged when the Application has initialized SDK with an invalid language code.
Removed from SDK on latest versions, SDK will now return data in default lang configured even if lang code is not passed.
IAB Vendorlist Api Failed
Error
NetworkRequestHandler
Logged when VendorList API failed while initializing SDK for an IAB Template.
SDK will not be rendering Vendor List UI and encoding vendor values in TCstring if this error is logged.
Cannot parse the data received from Server because it is corrupted
Error
OneTrust
Logged when API response is non-empty but does not contain the .json required for SDK initialization/UI rendering.
SDK will return failure callback with error code as 7 mainly related to publish issues. Republish and redownload the data in this scenario.
Error while parsing Global vendor list
Error
IABHelper
Logged when parsing and saving went wrong with the vendor list data fetched.
This might cause SDK to render blank Vendor list UI or generate corrupted TC string.
Banner and Preference Center Shown (Reason Codes)
Whenever the banner or preference center is surfaced to the user, a reason code will be logged to provide more insight as to why it has surfaced.
This can be useful in a few different use cases:
Collecting analytics for consent management.
Troubleshooting issues related to surfacing the UI.
This can be used to feed any analytics the app is looking to collect such as consents expiring, re-consent triggered, etc., as well as provide a tool for debugging.
Banner Logging
These codes (except 110) will only work when the banner is surfaced with the setupUI() method.
Code
Description
101
Banner shown because 'Show Banner' has been enabled in geolocation rules + user's first time consent + setup() used to surface the banner.
102
Banner shown as re-consent was enabled.
103
Banner shown as consent has expired.
104
Banner shown as TC String has expired.
105
Banner shown as consent has expired (time period set in geolocation rules).
106
Banner shown because 'service specific' is off (comes down as part of the TC String details).
107
Banner shown because 100% sync is not complete (for cross device sync setup).
108
Banner shown because we entered backward compatibility mode and banner has never been shown until now.
109
Banner shown because region has changed (from non-IAB to IAB region).
110
Banner shown because the app has called the show banner API.
Preference Center (PC) Logging
These codes (except 210) will only work when the PC is surfaced with the setupUI()method.
Code
Description
201
PC shown because 'Show Banner' has been enabled in geolocation rules + user's first time consent + setupUI() used to surface the PC.
202
PC shown as re-consent was enabled.
203
PC shown as consent has expired.
204
PC shown as TC String has expired.
205
PC shown as consent has expired (time period set in geolocation rules).
206
PC shown because 'service specific' is off (comes down as part of the TC String details).
207
PC shown because 100% sync is not complete (for cross device sync setup).
208
PC shown because we entered backward compatibility mode and banner has never been shown until now.
209
PC shown because region has changed (from non-IAB to IAB region).
210
PC shown because the app has called the show PC API.
SDK Performance
π
The timer for these performance metrics begins as soon as startSDK() is called.
Message
Log Type
Log Tag
Description
Comments
Time taken for OT SDK setup data fetch: {x} seconds
Info
OTPublishersHeadlessSDK+PublicAPI
Time taken for the startSDK() method to fetch data via Network call.
This log can be used to measure the performance of the SDK's initialization, specifically the initial network call to OneTrust CDN.
Time taken for IAB vendor list data setup: {x} seconds
Info
VendorListDataModel
Time taken for the startSDK() method to fetch the IAB TCF Global Vendor list data.
This log can be used to measure the performance of the SDK's initialization, specifically the network call to fetch IAB TCF Global Vendor list for regions where IAB TCF template is in scope.
Time taken for Google vendor list data setup: {x} seconds
Info
VendorListDataModel
Time taken for the startSDK() method to fetch the IAB TCF Google Vendor list data.
This log can be used to measure the performance of the SDK's initialization, specifically the network call to fetch IAB TCF Google Vendor list for regions where IAB TCF template is in scope.
Time taken for OT SDK data setup: {x} seconds
Info
OTPublishersHeadlessSDK+PublicAPI
Time taken for the startSDK() method to complete, including Network call + all data parsing and saving.
This log can be used to measure the performance of the complete SDK's initialization.
Updating Consent
Message
Log Type
Log Tag
Description
Comments
No categories found to update
Error
CustomGroupDetails
Logged when SDK could not find any categories to update.
This error will be thrown on calling functions to update consent of all categories and SDK could not find one to update. Application can check their configuration on getting this error.
error while fetching all categories
Error
CustomGroupDetails
Logged when Exception occurred while parsing groups data on updating all categories.
Error while getting updated value of Purpose Legit Interest
Error
CustomGroupDetails
Logged when Exception occurred on parsing LI values for an IAB category
Application will get -1 as the LI value for a category if this error is logged.
Error while getting updated value of Purpose Consent
Error
CustomGroupDetails
Logged when Exception occurred on parsing consent values for a category
Application will get -1 as the consent value for a category if this error is logged
error in updating purpose legitimate interest status
Error
CustomGroupDetails
Logged when Exception occurred on updating LI values for an IAB category
Invalid ID " + purposeID + " passed to update Purpose LegitInterest
Warning
OTPublishersHeadlessSDK
Logged when a non IAB category id passed to update LI value.
Purpose Legitimate Interest Update for id " + purposeID + " : -1, Invalid purposeId
Warning
OTPublishersHeadlessSDK
Logged when a non IAB category id passed to get LI value.
Purpose Consent Update for id " + purposeID + " : -1, SDK not finished processing
Warning
OTPublishersHeadlessSDK
Logged when a update methods called before SDK initialization
Empty purpose id passed to get Purpose Consent Update
Warning
OTPublishersHeadlessSDK
Logged when empty id passed to update consent
Empty vendor id passed to updateVendorConsent method.
Warning
OTPublishersHeadlessSDK
Logged when empty vendor id passed to update consent.
Empty vendor id passed to updateVendorLegitInterest method.
Warning
OTPublishersHeadlessSDK
Logged when empty vendor id passed to update LI
save consent status called without modifying anything
Warning
CustomGroupDetails
Logged when save consent method called without updating consent.
This warning could also mean that application called update consent methods and save methods using two different SDK objects. Same SDK object has to be used to call all the SDK methods.
Broadcasting Consent
Message
Log Type
Log Tag
Description
Comments
Failed to broadcast SDK consent changes, No SDK ids found
Warning
OTConsentChanges
Logged when failed to broadcast consent changes for SDKs belong to a category.