Each record begins with a timestamp followed by a record type. The content of the record varies and is dependent on the record type. The general format of each log record is:
timeStamp recordType field1 field2 field3…
where:
| timeStamp | The UTC time when this record was created. The format is: yyyyMMddhhmmss. This format can be sorted. Note that the loggerBegin record contains a timeLocal local time field, and this may be used to determine the UTC offset. |
| recordType | A single character that encodes the record type. See the table below. |
| Fields | One or more space-separated, variable length fields.
The type and order of the fields varies with recordType. If a field contains spaces, the field will be surrounded by double quotes. An embedded double quote character is coded with two consecutive double quotes. A single dash replaces any field with an undefined or unknown value. Numeric values have leading and trailing insignificant zeroes suppressed. |
The following table lists the record types, the log level of that type, and the values that each record of the specified type contains. The value codes are defined below.
| Code | Level | Record Type | Fields |
|---|---|---|---|
| L | 1 | loggerBegin | versionBIS, versionLog, timeLocal |
| S | 2 | sessionBegin | idSession, countUses, ipUA, idUA, typeIdUA |
| V | 3 | serviceBegin | idSession, countUses, ipUA, idUA, typeIdUA, idService, nameService |
| R | 4 | serviceRequest | idSession, countUses, ipUA, idUA, typeIdUA, idService, lengthRequest |
| r | 4 | serviceResponse | idSession, countUses, ipUA, idUA, typeIdUA, idService, lengthResponse |
| v | 3 | serviceEnd | idSession, countUses, ipUA, idUA, typeIdUA, idService, tallyRequests, tallyLengthReq, tallyLengthResp, timeCPU, histIO |
| s | 2 | sessionEnd | idSession, countUses, ipUA, idUA, typeIdUA, tallyRequests, tallyLengthReq, tallyLengthResp, timeCPU, histIO |
| l | 1 | loggerEnd | tallyRequests, tallyLengthReq, tallyLengthResp, timeCPU, histIO |
| Z | - | licenseInfo | idBaseLicense, idSerialNumber, nUseCount, strLicenseKey |
where:
| Code | A character that indicates the record type. |
| Record Type | The type of record. Each type is discussed in the table below. |
| Level | The level of this record type. Future versions of BIS will allow logging to be restricted by level. |
| Fields | The fields that appear in this type of record. The fields are described in the table below. |
The record types are nested: there will normally be a matching sessionEnd record for each sessionBegin record. The licenseInfo record is an exception: this record will occur by itself. For BIS/IIS, the licenseInfo record is written after BIS is loaded and the first service is started. Because much of the BIS subsystem is unloaded after a period of idle time and automatically reloaded on demand, this record may occur more than once in a given log file.