Avaya Client SDK

< Back to Package Overview

Troubleshooting and Debugging

Logging

The Client SDK includes detailed logging to show what it is doing and help troubleshoot problems. By default the Client SDK writes its logs to the standard logging facility for the platform without any additional configuration needed. You can optionally override this by setting a log handler on the Client object, in which case log messages will be sent to the installed log handler exclusively. Using your own or a third party logging framework allows Client SDK log messages to be written through the same framework, keeping them integrated with the rest of your application logs. When using a logging framework, including a timestamp and thread ID for each log message is recommended.

The Client object includes the logLevel property to control the verbosity of the SDK's logging. By default this is set to error level. During development, and when troubleshooting an issue, debug level is recommended. The info level strikes a balance between verbosity and performance and is the default level for Avaya applications in the field.

When submitting a support request please include debug-level logs for the problem scenario, as these are immensely helpful to us in identifying the cause.

The Avaya Client SDK provides access to diagnostic events using 4 logging levels:

    public enum LogLevel
    {
        Error = 0,
        Warning = 1,
        Info = 2,
        Debug = 3
    }

Choose a log level using the LogLevel property of the Client object:

Client.LogLevel = Avaya.ClientServices.LogLevel.Debug;

Implementing custom logging behavior

To implement your own logging behavior subscribe to Avaya Client Services messages:

Client.LogMessage += Client_LogMessage;

void Client_LogMessage(object sender, LogMessageEventArgs e)
{
    WriteToLogFile(e.Level, e.Tag, e.Message);
}

Crash Reporting

Since crash reporting applies to the application as a whole the Client SDK does not include any crash reporting support of its own, leaving this to the OS or application to implement. When reporting a crash in Client SDK code there are a few things to be aware:

The Client SDK includes native code, if you encounter a crash in native code please include a minidump for the crash with your support request. See Collecting User-Mode Dumps for detailed instructions on enabling crashing reporting for Windows Applications.

Google Analytics

Client SDK may optionally be configured to use Google Analytics to collect, process, and store activities of application users, to track feature usage and improve the quality of Client SDK. Google Analytics data collection is disabled by default, and the end user must specifically opt-in for the collection of analytics. Analytics data collected about Client SDK is available to Avaya Employees only, and cannot be shared with third party developers or end users.

To enable Google Analytics within Client SDK requires the Google Analytics Terms and Conditions to be met.

You will give end users proper notice about the use of Google Analytics for the collection of quality improvement metrics for the Avaya Communications Package when it is enabled in your application. You must either get consent from the end user to enable Google Analytics, or provide them with the opportunity to opt-out of analytics collection.

Source

Complying with the Google Analytics Terms of Service

Client SDK complies with the Google Terms of Service where possible. As Client SDK is a component within your application and does not interact with end users directly, Client SDK cannot fully meet the Google Analytics Terms and Conditions. To enable Google Analytics within Client SDK, your application meet the following condition:

You will give end users proper notice about the use of Google Analytics for the collection of quality improvement metrics for the Avaya Communications Package when it is enabled in your application. You must either get consent from the end user to enable Google Analytics, or provide them with the opportunity to opt-out of analytics collection.

Source