Live Chat Messenger Events & Logger
Updated
The Live Chat Logger in the Live Chat SDK provides a structured mechanism for capturing and managing real-time SDK events and system logs. It enables developers to monitor chat interactions, track user actions, and diagnose issues efficiently by logging critical events and system statuses.
Add Events Logger to SDK Events
To track and manage various events efficiently, the SDK provides a logging system that can be configured according to your requirements. The logging system supports different log levels to help debug issues effectively.
Configure the Logger
Use the following snippet to enable logging and define custom log transports:
Note: It is recommended to call setLoggerConfig before takeOff to avoid missing logs emitted during initialization.
import MessengerClient from '@sprinklrjs/chat-native-client';
MessengerClient.setLoggerConfig({
enableLogs: true, // Required to enable logs
logLevel: 4, // Optional, default is INFO (4)
transports: [
{
write(level, ...logs) {
// Implement your custom logger transport here
},
},
], // Optional, default transport is console
});
setLoggerConfig Parameters
Parameter | Required/Optional
| Value | Description
|
enableLogs | Required | Boolean (true/false) | This parameter is required to enable or disable logging. When set to true, logging is enabled, allowing the application to record log messages. If set to false, logging is disabled. |
logLevel | Optional | Integer (0 to 7) | This parameter sets the level of logging detail. The default value is 4, which corresponds to the INFO level. Refer to the table below for more details on Log Level |
transports | Optional | List of objects with a write method. write(level, …logs){}
| This parameter allows defining multiple transporters that get called parallelly. |
Available Log Levels
The SDK supports the following log levels:
Log Level | Value | Description |
OFF | 0 | Disables all logging. No log messages will be recorded. |
FATAL | 1 | Logs only the most severe error events that will presumably lead the application to abort. |
ERROR | 2 | Logs things that went wrong so that either something failed or the system had to resort to a fallback that the user may have noticed. |
WARN | 3 | Logs things that went wrong, but were recoverable so that a user should not have noticed. |
INFO | 4 | Logs primarily large business-logic steps as the SDK connects, sends, and receives messages. |
DEBUG | 5 | Logs details of the inner workings of the SDK logic and network stack. |
TRACE | 6 | Logs high-traffic logs; tracks many objects as they move through the SDK. |
ALL | 7 | Enables all logging levels, capturing every log message. |
As is standard with most logging systems, each of these settings also includes all levels below it. Setting the SDK Logging Level to OFF disables SDK logging entirely.
Add Messenger Events Listener to SDK Events
To track various SDK-related events, register an event listener using the registerEventsListener method.
Register an Events Listener
Note: It is recommended to call registerEventsListener before takeOff to avoid missing events during initialization.
import MessengerClient from '@sprinklrjs/chat-native-client';
MessengerClient.registerEventsListener(this.eventsListener);
eventsListener = (eventGroup, eventType, payload) => {
// Handle events here
};
Supported Events
The SDK emits events under different event groups. Below is the list of supported event groups and their event types:
Additional Resources