An entry in the Blueworx Voice Response error log is shown here, with an indication of the
line and column numbers:
Line 1 always has exactly the format shown—the details
of the time vary but the type of information in each column does not change.
The string, EE Entry, in the first eight columns identifies the
start of a new error message.
Line 2 contains a brief description of the error. Its length varies
but it always begins in column 1.
Line 3:
- sequence (1- to 6-digit number left-justified in columns 16
through 21):
- The sequence number of the error. This number begins at 1 each time Blueworx Voice Response is
started, and is incremented for each subsequent error.
- csec (1- to 2-digit number left-justified in columns
36 through 37):
- The number of 1/100 seconds (centiseconds) that this error was generated
after the time in line 1.
- error_id (1- to 5-digit number left justified in columns
56 through 60):
- The Blueworx Voice Response error message ID, as listed in Blueworx Voice Response messages identified by number.
Figure 1. Message information in the Blueworx Voice Response error log
1 1 2 2 3 3 4 4 5 5 6 6 7 7
1...5....0....5....0....5....0....5....0....5....0....5....0....5....0....5
1 EE Entry Time: Fri Jan 14 10:30:04 1994
2 OAM Problem with File Access
3 sequence = 74 csec = 97 error_id = 25022
4 asi_id = 1 appl_id = 16 error_no = 52
5 severity = WHITE vpd_discr = VAE module_id = GENVAE
6 assoc_cls = NONE alarm_thr = 0 assoc_alm = 0
7 appl name = OAM
8
9 parameter type parameter value
10 ---------- ------ -------------------
11 process string OAM
12 routine string OAM_log_trace_string()
file string /usr/lpp/dirTalk/db
access string fflush
Line 4:
- asi_id: In the current implementation, this field is always
1.
- appl_id (1- to 4-digit number left-justified
in columns 36 through 39):
- The Blueworx Voice Response internal identifier of the process that generated the error.
- errno (up to 6 digit number left justified in columns 56-610):
- The value of the AIX-defined global variable, errno, at the
time the error was generated. This is irrelevant for some errors, but an important
parameter for others. You can find definitions for these errors in the errno.h in the /usr/include/sys directory.
Line 5:
- severity: (1- to 6-character string in columns 16 through 21):
- Indicates the severity of the error. Possible values are WHITE, GREEN, YELLOW and RED. The meanings
of these severities are defined in “Message Categories”. This program
examines the first character only, and converts to the numbers 1,2,3, and
4 respectively.
- vpd_discr:
- In the current implementation, this field does not provide useful information.
- module_id:
- In the current implementation, this field always contains GENVAE.
Line 6:
- assoc_cls:
- In the current implementation, this field is not used (contains NONE).
- alarm_thr:
- In the current implementation, this field is not used.
- assoc_alm:
- In the current implementation, this field is not used.
Line 7:
- appl name (variable character string from column 16 to the
end of the line)
- This is the Blueworx Voice Response name of the process that raised the error.
Line 8 is always a blank line. The following lines occur only
if the error has parameters. Otherwise the next line is blank followed by
the start of the next error.
Line 9: If the error has parameters, this line is exactly as shown
in Figure 1.
Line 10: This line is exactly as shown in Figure 1, underlining the previous line.
Line 11: The start of a parameter.
- Columns 16 through 23:
- The name of the parameter. The name is defined separately for each parameter
of each error.
- Columns 26 through 36:
- The parameter type: decimal, integer, long, uinteger, ulong, hexadecimal,
address, character, uchar, or string.
- Columns 38 through the end of the line (and beyond):
- The parameter value. This is always a character string, so numeric type
parameters have been converted to strings, in the format you would expect.
So for hexadecimal, for example, to extract the original value you could use sscanf() on the parameter value, specifying a number base of 16 for the
conversion.
Note: The parameters can contain new-line characters,
so parameters can span multiple lines. This is, however, very rare.
This makes parsing harder, because it is not so obvious where the next parameter
starts. This program only collects the first line of a parameter value, and
detects the start of the next parameter by looking for three spaces at the
start of the line, followed by a non-space, and a space in column 25 and non-space
in column 26.
- Line 12 onwards
- Further parameters, until the end of the error, where there is a blank
line followed by the start of the next error. The error log never contains
partial error messages—all the information described is included for
each error.