Diagnostic logging

Nuance services produce diagnostic logs that contain warnings and errors to identify system problems and determine their causes. Diagnostic logs are separate from call logs, which contain information about application events for each session. See Call logging.

The primary purpose of diagnostic logs is to monitor and debug the internal workings of Nuance products, but they are also useful for troubleshooting new browser integrations or problems that cannot be solved using call logs. See Diagnostic log files.

Nuance recommends searching the diagnostic logs periodically to identify unexpected warnings and errors. The logs have detailed information about the internal functions of Nuance speech components including informational messages generated by your service or application. The log entries have various levels of urgency ranging from alarms to normal status.

The system encodes diagnostic log files as UTF-8. Treat these files as binary when transporting and storing. For example, storing in CVS and transporting via FTP.

Diagnostic logs contain references to internal API functions, which enable detailed analysis of system activities. A single application message can generate numerous function calls. See Understanding function name abbreviations.

Configuring diagnostic logs

Application developers can set logging levels to control the quantity of information in the logs. For example, temporarily increase logging levels during application development or when troubleshooting a deployed system. This is done by modifying tag-map files. See Tagmap paths and file precedence.

Another troubleshooting scenario is to refine logging of Speech Suite components when requested by Nuance technical support.

Configure diagnostic logs separately for Speech Server and Recognizer:

Reporting problems to Nuance

When you report a problem (either to Nuance technical support or the organization that provides or maintains your system), include a copy of the relevant logs. For Nuance technical support, go to the technical support portal at Nuance Network.

Technical support will probably ask you for a diagnostic log that contains the error with any relevant diagnostics (as directed by technical support) enabled. Generally the most useful diagnostic tag for doing first level diagnoses of a problem is:

server.log.diagTag.2001

Enable this tag on the Speech Server in Management Station to show all MRCP (TCP) transactions with the server. (If not using Management Station, set parameters in the NSS configuration file (NSSserver.cfg).) These transactions allow technical support to determine the type of message traffic being received at the time of the incident and the actions that were attempted based on the messages.

Logging levels

Logging level definitions vary depending on the Speech Suite component. For example:

  • As described below, different services have different level names and different numbers of available levels. For example, most level names are text, but Speech Server uses numeric values.
  • All services allow you to set logging levels in their configuration files. This requires a restart to activate the changes.
  • Most services allow using Management Station to set logging levels. The changes do not require a restart. When a service does not allow changes through Management Station, it deactivates the field where the level would normally be changed. For example, you cannot set Nuance Recognizer levels in Management Station.

Highest precedence settings

When using the Management Station, the General properties tab has the highest precedence. It sets values for all services. (The level you set on the General tab might translate to a different name at the service level. The following tables show how the names are mapped.) 

Management Station logging levels

Description

NONE

No logging is performed. Available only with Management Station logging.

FATAL

The system encounters a fatal error and aborts.

ERROR

The system encounters a serious, but non-fatal error from which it cannot recover. Users might be affected.

WARN, WARNING

The system encounters an unexpected problem that needs investigation. Users are not affected.

USER_ERROR

The system encounters a serious error while processing user-supplied data. For example, a grammar file contains errors and fails to compile.

Not applicable for Management Station logging.

USER_WARN

The system encounters an unexpected problem while processing user-supplied data. For example, a grammar file contains errors but it still compiles. The error requires investigation.

Not applicable for Management Station logging.

STATUS, STATUS_MSG

Informative messages about normal system operation. Default for producing diagnostic logs.

INFO

Coarsest level of tracing information for tracking system execution. Used to isolate basic problems. Typically used during troubleshooting.

D_INFO

Detailed info. Next level of tracing information used to track system execution. Used to isolate difficult problems. Used during troubleshooting and intended to be interpreted by Nuance support personnel.

VD_INFO

Very detailed info. Most detailed level of tracing information used to track system execution. Used to isolate very difficult problems. Used during troubleshooting and is intended to be interpreted by Nuance support personnel.

ALL

Enables all logging levels. Available only with Management Station logging.

Hiding sensitive information

By default, Speech Suite suppresses sensitive information in the Speech Server or NLP service diagnostic logs when your VoiceXML application uses the property to enable logging security on specific items (such as credit card numbers, PIN, and so on). However, suppressing URIs and detailed MRCP messages requires explicit configuration.

Set these parameters on the Speech Server service in Management Station. If not using Management Station, set parameters in the NSS configuration file (NSSserver.cfg).

Service property

Description

Default

server.log.secureDiagLogOSRcontext

When enabled, suppresses recognition result fields from the Speech Server diagnostic log file. This lets recognition entries appear in the log file without exposing sensitive information (like a recognized credit card number).

Relevant only when you enable detailed MRCP message logging (with server.log.diagTag.xxxx.tagnum, where tagnum is 2001, 9200, and/or 9201).

0 (disabled)

server.log.secureDiagLogTTScontext

When enabled, suppresses synthesized text fields from the Speech Server diagnostic log. This lets TTS entries appear in the log file without exposing sensitive information (like a prompt containing a credit card number).

Relevant only when you enable detailed MRCP message logging (with server.log.diagTag.xxxx.tagnum, where tagnum is 2001, 9200, and/or 9201).

0 (disabled)

server.log.suppressSensitiveDiagLogs

Suppresses data that the application flagged for logging security (credit card number, PIN, and so on) from the Speech Server diagnostic log.

1 (enabled)

server.log.suppressSensitiveURIs

When enabled, suppresses logging of URI strings that contain sensitive data from the Speech Server diagnostic log. For example, these URIs may point to audio files that compose a credit card number when combined.

By default, URIs appear in the Speech Server diagnostic logs even when the application sets logging security to suppress a URI.

0 (disabled)

suppressSensitiveData

Suppresses data that the application flags for logging security (credit card number, PIN, and so on) from the NLP service diagnostic log.

Relevant only when using Dragon Voice.

1 (enabled)