TeleFlow Logging

TeleFlow Logging

From TeleFlow

(Difference between revisions)
Jump to: navigation, search
m (Collecting Logs for Support)
m
Line 48: Line 48:
** If you want to find a particular step in a TeleFlow Application based on something you see in a log, determine which flowchart the step output is for (by following the log until you see the arrow(==>) indicating a flowchart is being run), then use the step number to search for the step. (In TeleFlow Designer, go to the appropriate flowchart, right-click some empty flowchart space, and select the "Go to Step#..." option. Then, type in the step number you found in the log, and click "Ok". TeleFlow Designer will jump to and select the step.)
** If you want to find a particular step in a TeleFlow Application based on something you see in a log, determine which flowchart the step output is for (by following the log until you see the arrow(==>) indicating a flowchart is being run), then use the step number to search for the step. (In TeleFlow Designer, go to the appropriate flowchart, right-click some empty flowchart space, and select the "Go to Step#..." option. Then, type in the step number you found in the log, and click "Ok". TeleFlow Designer will jump to and select the step.)
* <==: Indicates the application has completed running one flowchart, and is returning to the flowchart that ran it. (EG: "Main<==SomeOtherFlowchart" would indicate that a flowchart named "SomeOtherFlowchart" had completed, and that the application flow was returning to Main)
* <==: Indicates the application has completed running one flowchart, and is returning to the flowchart that ran it. (EG: "Main<==SomeOtherFlowchart" would indicate that a flowchart named "SomeOtherFlowchart" had completed, and that the application flow was returning to Main)
 +
===Collecting Logs for Support===
===Collecting Logs for Support===
Line 63: Line 64:
====For Problems That Result in Application Errors (Resulting in dropped calls)====
====For Problems That Result in Application Errors (Resulting in dropped calls)====
-
When the problem you are reporting results in application errors, you can generally just follow the instructions above about
+
When the problem you are reporting results in application errors, you can simply follow the instructions above (see the list of steps in "Collecting Logs for Support") to gather the appropriate log files relating to application errors.
====For Non-Error Producing Problems (I.e. Application doesn't error, but doesn't work as expected)====
====For Non-Error Producing Problems (I.e. Application doesn't error, but doesn't work as expected)====
-
=====If Your Application Isn't in Production (or, on a development server)=====
+
If you application isn't in production, or you can provide it in a test server, open your active application list file in TeleFlow LineList, and make the following changes:
-
Open your active application list file in TeleFlow LineList, and make the following changes:
+
-
(NOTE: If you don't know what the active list is, check here: @@@)
+
* Set "Restart Count" = 0
* Set "Restart Count" = 0
* Uncheck the "No limit" checkbox
* Uncheck the "No limit" checkbox
Line 75: Line 74:
* Uncheck "Append to file"
* Uncheck "Append to file"
-
=====If You Can Only Test in Production=====
+
If you can only produce the error by running your applications live, , open your active application list file in TeleFlow LineList, and make the following changes:
 +
* Check the "No limit" checkbox
 +
* Set "Log output" = "All Events"
 +
* Uncheck "Append to file"
 +
 
 +
 
 +
===Finding Errors When Applications Won't Even Start=====
In TeleFlow Config (Start >> Programs >> TeleFlow >> Server Tools >> TeleFlow Config):
In TeleFlow Config (Start >> Programs >> TeleFlow >> Server Tools >> TeleFlow Config):

Revision as of 17:33, 8 October 2009

This topic is intended to explain how TeleFlow Server (and TeleFlow Simulator) logging works, how to configure it to suit your needs, and how to read and take advantage of the logs.


Contents

When and What TeleFlow Server Logs

Typically(by default), TeleFlow Server is configured such that it logs all application errors that occur while the TeleFlow Server service is running. In addition to application-level logging, TeleFlow Server also logs TeleFlow Server and TeleFlow Monitor events to their own logs.

Application Logs are named using the unique application name set in TeleFlow LineList and a date-stamp indicating the day the events logged took place. TeleFlow Server and Monitor logs are named TFServer_[datestamp].log and TFMonitor_[datestamp].log, respectively.

There are a number of options that control how the logging works, as described in the sections that follow.


TeleFlow Config - Server-wide Log Settings

TeleFlow Config is accessible in the Windows Programs menu. (Start >> Programs >> TeleFlow >> Server Tools >> TeleFlow Config)

The settings in TeleFlow Config that affect how TeleFlow Server logging works are:

  • Log Directory: This is where logs are written. (NOTE: The directory path must exist for TeleFlow to write to it.)
  • Maximum Log File Size: The maximum size a daily application log is allowed to grow to before TeleFlow stops writing to it. This is ignored when the "Unlimited Log File Size" checkbox is checked.
  • Unlimited Log File Size: Logs can continue to grow to any size.
  • Log Lines: For application error logging only, this is the number of lines of log output the server will write for a single error.


TeleFlow LineList - Log Settings by Application Instance/Line

TeleFlow LineList is accessible in the Windows Programs menu. (Start >> Programs >> TeleFlow >> Server Tools >> TeleFlow LineList )

The settings in TeleFlow LineList that affect how TeleFlow Server logging works are:

  • Name: The unique name for the application instance/line/channel. This name, along with a date/time stamp, make up the application's log filename.
  • Restart Count: This is the number of times the application should restart (when an error occurs) before it stops running. This setting is ignored when the "No limit" checkbox is checked.
  • No limit: Indicates the application should restart after errors an unlimited number of times.
  • Log output: There are two logging options for an application instance, as follows:
    • Errors only: Logs "Log Lines" (see TeleFlow Config, above) of output to the error log file when errors occur, and only when errors occur.
    • All events: Logs everything that happens while the server is running to the log.
  • Append to file: If checked, TeleFlow appends to the log whenever it is writing to it. This means, if there are multiple errors, for example, that all of them can be written to the log. Unchecked, the log will contain only the most recent error, or when logging all events, only what has happened since the last time the application was started.


Reviewing Logs For Errors

If you know your applications have errors, you can review the logs to see what is causing them.

  • Searching for a particular event in a TeleFlow log is usually easiest if you search from the bottom/end up. The end of the log is closer to the error than the beginning (usually), and is also where you will find the most recent or last steps run before and after the error occurred.
  • To locate the exact point an error occurred: Copy and paste the contents of the entire Simulator log output to a text editor that has a search feature (Eg. Notepad). Search for this string to locate the point at which TeleFlow determined there was an error: "jump to fatal".

Here are some basics about the log layout, symbols used in the log to describe certain actions taking place, and what they mean:

  • Date/Time Stamp: Every line/segment of log data has a date/time stamp (to milliseconds precision) to help you see how long things take, and when they happened. The format of this date/time stamp is: YYYY/MM/DD HH:MM:SS.nnn.
  • ==>: Indicates the application is entering a flowchart (EG: ==>Main: Indicates the application is entering a flowchart named "Main".)
  • [1] START: Indicates a START step is being run. The square bracket is the step number, which is unique to the flowchart. Any log line that starts with a square bracketed number is the start of a step being processed. The lines that follow describe the actions taken by the step.
    • If you want to find a particular step in a TeleFlow Application based on something you see in a log, determine which flowchart the step output is for (by following the log until you see the arrow(==>) indicating a flowchart is being run), then use the step number to search for the step. (In TeleFlow Designer, go to the appropriate flowchart, right-click some empty flowchart space, and select the "Go to Step#..." option. Then, type in the step number you found in the log, and click "Ok". TeleFlow Designer will jump to and select the step.)
  • <==: Indicates the application has completed running one flowchart, and is returning to the flowchart that ran it. (EG: "Main<==SomeOtherFlowchart" would indicate that a flowchart named "SomeOtherFlowchart" had completed, and that the application flow was returning to Main)


Collecting Logs for Support

If you are attempting to collect and provide logs of a specific issue(s) in order to get support/help solving a problem, the following sections provide tips on the best/most effective methods of providing both enough of the logs to solve the problem with the minimum amount of unnecessary information:

When sending logs to support, be sure to do all of the following:

  • Logs are located in the log directory, as defined in TeleFlow Config (see above).
  • Usually, it is best to zip up one or more logs, and either make them available for download, or email them to support.
  • Always include the most recent TFServer_[datestamp].log with the log package.
  • Review the application logs, and select one or more that has the error(s) you haven't been able to solve yourself. One or two instances of each should be more than adequate, so select the minimum number of logs you can find with all of the errors in them.
  • IMPORTANT: Send complete .log files. Partial clips of logs aren't always as useful or telling as they appear to be. A complete log is much more likely to result in a resolution of problems than a small clip of an error.


For Problems That Result in Application Errors (Resulting in dropped calls)

When the problem you are reporting results in application errors, you can simply follow the instructions above (see the list of steps in "Collecting Logs for Support") to gather the appropriate log files relating to application errors.

For Non-Error Producing Problems (I.e. Application doesn't error, but doesn't work as expected)

If you application isn't in production, or you can provide it in a test server, open your active application list file in TeleFlow LineList, and make the following changes:

  • Set "Restart Count" = 0
  • Uncheck the "No limit" checkbox
  • Set "Log output" = "All Events"
  • Uncheck "Append to file"

If you can only produce the error by running your applications live, , open your active application list file in TeleFlow LineList, and make the following changes:

  • Check the "No limit" checkbox
  • Set "Log output" = "All Events"
  • Uncheck "Append to file"


Finding Errors When Applications Won't Even Start==

In TeleFlow Config (Start >> Programs >> TeleFlow >> Server Tools >> TeleFlow Config):

  • Set "Active Application List File" to the Default.tal file verified/modified in TeleFlow LineList.
  • Make sure "Log Directory" is a valid directory path.
  • Check "Unlimited Log File Size".
  • Set "Log Lines" to 2000.
  • Check "Start TeleFlow Service Automatically".

Before restarting the computer, ensure the following:

  • The log directory for TeleFlow is empty (clear any files in it).
  • The services for the telephony hardware will start automatically with Windows.

Once the steps above are complete, restart the computer. After logging in:

  • Wait a couple minutes before proceeding with the remaining steps.
  • Verify that board services have started.
  • Run TeleFlow Monitor to see if your applications are running with green lights, or if they have stopped with errors (red lights).

If the system has started with green lights, call the phone number to reach the system to see if it answers.

If it starts with red lights, review the logs. The logs should have only a single attempt to start the application and wait for an incoming call. This means the log will show the minimum amount of output with whatever error(s) are preventing the system from running normally.