Using CitectSCADA > Monitoring and Debugging Runtime > Gathering Runtime Information > Log Files

Log Files

CitectSCADA supports the following log files.

Log file Description
syslog.dat

The syslog.dat file is the primary log file for CitectSCADA. It contains useful system information, from low-level driver traffic and Kernel messages, to user defined messages. Trace options (except some CTAPI traces) are sent to this file.

CitectSCADA locks syslog.dat while running. However, you can still view it by using the 'SysLog' command in the Kernel.

tracelog.dat The tracelog.dat file contains managed code logging, mainly in relation to data subscriptions and updates. Field traces and requests to native drivers go to the syslog.dat or a specific driver log file.
debug.log This file contains information about a crash or other serious internal issues. If a crash occurs, it will identify the version and path of each DLL being used at the time. It can be used to confirm you have the right version of files.
kernel.dat Kernel.dat contains a copy of the kernel screens. It has the "dumpkernel(0x8000)" mode added to it on a crash, and is also available via Cicode calls to "dumpkernel".
ipc.log This log is used for CTAPI communication traffic.
<driver>.dat Driver logs relate to the operation of a particular driver and are named accordingly. For example, the OPC driver is logged in 'OPC.dat'.

Log files may have additional suffixes included in their name., for example, an archived log file will include a timestamp.

If a system uses separate processes, a log file is appended with the component name. An example of this could be:

syslog.IOServer.Cluster1.dat

Note: If CitectSCADA suffers an unexpected shut down, the Crash Handler will create a compressed file containing a number of log and data files that may be useful in determining the cause. See The Crash Handler.

Time-stamping

With the release of CitectSCADA v7.20, log file entries use the following timestamp format:

yyyy-mm-dd<SPACE>HH:mm:ss.fff<TAB>TZD

where:

yyyy = year (e.g. 2008, 2009)

mm = month (e.g. 01, 05, 12)

dd = date (e.g. 01, 02, 31)

HH = hour of the day (24 hour format)

mm = minute (e.g. 00, 02, 59)

ss = seconds (e.g. 00, 02, 20, 59)

fff = milliseconds (e.g. 000, 123, 999)

TZD = local time offset from the UTC (e.g. +10:00, -09.00)

For example:

2009-06-03 11:19:33.249 +01:00

File locations

The CitectSCADA log files are located in the following directory in versions of Windows prior to Vista.

C:\Documents and Settings\All Users\Application Data\Citect\CitectSCADA x.xx\Logs

In Windows Vista, the files are located in the Program Data directory:

C:\ProgramData\Citect\CitectSCADA x.xx\Logs

In both cases, driver log files will appear in the Logs directory in a folder named after the particular driver.

Performing Calculations

If you wish to perform calculations on the time and dates recorded in the log files, this can be accomplished by opening the files in Microsoft Excel. Open the file in Excel by selecting settings in the Text Import wizard such that the date and time fields are NOT split into separate cells. Once opened in Excel, select the column containing the date and time and format the cells in the column with a custom format of yyyy-mm-dd hh:mm:ss.000. This will allow Excel to correctly parse the date/time, and store the value in days, as the number of days (and fractions of a day) since 1900-01-01 00:00:00.000 (this date/time has a value of 1).

Calculations between date/time values can be simply performed. However, it needs to be remembered that, since Excel treats times as days, if the difference in milliseconds between two date/times is necessary, the result of the difference calculation needs to be multiplied by (24*60*60*1000).

Parsing the UTC offset

Using the UTC offset in Excel is a little more complicated, as Excel will not accept negative times. Therefore format the UTC offset cell/s as a text string, and write a formula to convert it into a fraction of a day. For example, if the UTC offset is held in cell B4, the formula is:

=LEFT(B4,1)&TIME(MID(B4,2,2),RIGHT(B4,2),0)

This will convert the UTC offset into a correctly signed numerical value expressed as a fraction of one day.

For example:

This value can then be directly added to the UTC time, to yield local time.

See Also