Error and diagnostic logging

Vocalizer logs error messages and optionally can be configured to report diagnostic information as well.

Vocalizer also writes call-log information to report TTS engine statistics, which can be used for application tuning and capacity planning. See Application call logs for details.

Also see Minimizing latency for suggestions on how to optimize performance and minimize latency.

At runtime Vocalizer logs error messages for problems encountered by the TTS engine. Although Vocalizer returns error codes that give a high-level indication of the type of failure, it is important to monitor the error logs. The error logs provide detailed information about the errors returned so they can be quickly resolved (such as the specific URI, line, and column containing a SSML parse error). Also, check the error logs for warnings about application problems that don’t trigger a fatal error, but that may lead to unexpected behavior that needs correction (perhaps with as an SSML say-as type that is not supported).

Vocalizer can optionally be configured to report diagnostic information as well. If you file a support incident with Nuance Technical Support, they may ask you to enable diagnostic logging so Nuance can analyze and resolve your issue.

These error and diagnostic logs are written to the following destinations:

  • Speech Server (only) and Nuance Management Station. If not using Management Station, set in the NSS configuration file.
  • (Optional, disabled by default) Operating system’s System logging: Windows Application Log or Unix syslog.
  • (Optional, disabled by default) Vocalizer written log files and diagnostic log files.

The verbosity of the diagnostic logs is controlled by the log_level parameter in the Vocalizer configuration file.

Suppressing confidential data

Vocalizer has features to protect sensitive data from being written to logs. The system protects any data defined as confidential. Typically, this means confidential personal data: names, addresses, telephone numbers, account numbers, passwords, and so on.

With regards to logging, you can protect confidential data as follows:

  • Control the logging data flow. The system stops writing log data.
  • Suppress data. The system avoids writing specific strings.
  • Mask data. The system replaces confidential text strings in logs with masked text. When masking text in a call log, the system writes the SECURE token (SECURE=true), and replaces the encrypted data with the string "_SUPPRESSED."

To suppress logging confidential data to the error and diagnostic logs, you can use switts.secure_context property to set a secure context which only affects the current speak request.

You can also set "secure_context" via an SSML <meta> element . For example:

<meta name="secure_context" content="mask-sensitive"/>

For Vocalizer-written log files (disabled by default), whenever secure_context is set to any mode except "open" for system-prompts, Vocalizer suppresses writing potentially confidential data. For the Nuance Watcher integration, Vocalizer uses the same encryption mechanism as Speech Server. For a complete overview of features and details for managing confidential data, see Protecting confidential data.