SDK Logging

Overview

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 CTV 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.

Log LevelDescription
OTLoggerConstant.errorLogs only errors.
OTLoggerConstant.warningLogs warnings and everything above.
OTLoggerConstant.infoLogs info and everything above.

Error Logs

We log error messages in the database as of right now and do not have error codes programmed.

Error CodeDescription
5Thrown 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.

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 initialising SDK for an IAB Template.

SDK won't 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

(NOTE: Future task. This is not supported right now but it will be.)

Error

OneTrust

Logged when API response is non-empty but does not contain the json required for SDK initialisation/UI rendering

SDK will return failure callback with error code as 7 mainly related to publish issues. Republish and re-download 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.

SDK Performance

Future task. Not part of the SDK as yet.

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 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 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

Future task.

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 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

Future task.

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.

error in broadcasting status. err = " + e.getMessage() + " changedConsents =

Error

OTConsentChanges

Logged when failed to broadcast consent changes for categories

error while broadcasting default consent values :

Error

OTData

Logged while broadcasting default consent values on SDK initialisation failed due to parsing errors.

Capture Records of Consent

MESSAGE

LOG TYPE

LOG TAG

DESCRIPTION

COMMENTS

consentLogging not initialized, Consent Logging not enabled Created consent logging template contains no payload

Warning

ConsentLogging

Logged when SDK could not find consent logging data from application data. Consent Logging feature is not configured for the application id passed.

This can be also due to errors occured while publishing an application

setDataSubjectIdentifier: Pass a valid identifier!!

Info

OTUtils

Logged when invalid DSID passed by application.

Error on merging appendedCustomDSElements. Error msg =

Error

DsDataElementPayload

Logged when failed to sync the DsData elements set by App and the SDK constructed consent payload

The details set by the app won't be shown on admin UI consent module for the desired fields.

IAB CCPA

MESSAGE

LOG TYPE

LOG TAG

DESCRIPTION

COMMENTS

Update called without initializing CCPA

Warning

IABCCPA_Consent

Logged when CCPA direct opt-in or opt-out methods called w/o initialising it.

Application has to initialise CCPA before calling opt-in, opt-out methods or before showing UI.

Do not sale GroupId not found

(Future task)

Info

IABCCPA_Consent

Logged when SDK cannot find CCPA parent id from the subgroup ids passed by app

SDK won't generate IAB CCPA string if this is logged. Application has to pass valid subgroups of CCPA parent group on getting this error.

No need update CCPA for location {ccpaLocation}. Banner loaded location = {consentGivenLocation}

(Future task.)

Info

IABCCPA_Consent

Logged when location passed by application while initialising CCPA does not cover user’s location.

IAB TCF 2.0

MESSAGE

LOG TYPE

LOG TAG

DESCRIPTION

COMMENTS

error while constructing IAB encoder input

Error

IABHelper

Logged when error occurred on constructing data for encoding IAB TC string

SDK won't write TCString if this error is logged.

Could not fetch Vendor details for ID

Error

VendorUtils

Logged when SDK could not parse vendor details for a particular vendor Id.

SDK will return null while fetching details for a specific vendor id.

Error while fetching IAB Vendor Disclosure details: IAB Vendor Disclosure API Failed :

Error

NetworkRequestHandler

Logged when IAB vendor disclosure API call failed / the data response is corrupt.

Disclosure details won't be shown on vendor details view if this error is logged.