This article describes the various log files that are currently available for the main server and mirror server. 


swDBServer

This is the main server executable which contains the connection to the database, cached data and all API logic. 


swServer.log

This file logs server events and not user operations. Errors relating to the server, its connection to the database, etc. would be contained in this file.

A thread number is indicated in brackets after the date/time stamp. Within a small time context, it can even be considered as a connection id.


Example

The below example shows when the server is being started. 

The server also will log QGetItems queries that take longer than 1 second to run.


CallLogging 

(CallLog_YYYYMMDD_mmss.log)

The CallLogging log file is strictly for troubleshooting purposes as it can affect system performance when activated. It is recommended that it only be used for specific troubleshooting purposes and not for daily logging

Valid options for activation are "on" or "detailed" and for deactivation, use a null value. Detailed provides extended log information about user operations. For example, if detailed is set, not only that a specific user ran a search, but what they searched for.  The content of the file is not readable without the assistance of Systemite for decoding.


TcpSubServer

The Systemite.SystemWeaver.TcpSubServer.exe manages the communication through TCP with all the clients and their connections. There are three log files related to this executable - DLQ file, TcpSubServer.log, and Statistics.log.


DLQ File 

(Systemite.SystemWeaver.TcpSubServer_YYYY_MM_DD_mmss.dlq)

The DLQ file includes measurements about how long calls take and is a very useful file for troubleshooting purposes. It contains the following information:

ThreadId=Within a small time context, it can even be considered as a connection id. E.g., 14

SeqId=A sequence number indicating the call's order, e.g., 2

SessionId=The unique ID for the session, e.g., 1

BeforeTime=Date/time stamp for the call, e.g., 2019-05-14T12:53:30

QueueWaitTime=The amount of time between a request reaching the TcpSubServer and beginning to be handled,  e.g., 00:00:00.0036687 (approx. 3.6 ms)

LockWaitTimeSubServer=The amount of time spent waiting for the TcpSubServer, e.g., 00:00:00.0000015

LockWaitTimeServer=The amount of time spent waiting for the DBServer, e.g., 00:00:00.0003045 (approx. 0.3 ms)

ExecutionTime=Time used to execute the call, e.g., 00:00:00.0001363

TotalTime=The sum of QueueWaitTime, LockWaitTimes and ExecutionTime.

ResultLength=The length of the data response, e.g., 28

CallId=A code for the operation performed, e.g., 67=FindObjects, 137=Item_GetNextVersions

User=The xID for the user performing the call, e.g., xE0000000218A570

AppName=Indicates the client/application used, e.g., swExplorer.exe


Example


Note: Contact support@systemweaver.com should you need assistance with analysis.


TcpSubServer.log

This log file contains client/application information for connects, disconnects, etc. 

A thread number is indicated in brackets after the date/time stamp. It is the thread writing to the log. Each connection has it's own thread during the duration of the connection, and this number identifies it. Note that there are other threads as well, e.g., there is one listening for connections. An example is thread number [12] in the below example.

ComputerName=Alias name for computer from which the connection is made

UserName=Computer system user name

ClientName=Client/application used for connection

ApiVersion=The version of the SystemWeaver API

Logged in=Indicates the SystemWeaver user account that is logged in


Example


Statistics.log

There is also an optional Statistics log which provides information about specific user operations and usage statistics.


Example


The entries in the file consist of: 

  • Time stamp
  • Sequence ID
  • Session ID
  • IP
  • User ID
  • User Name
  • Client Application Name
  • Type of operation (event, call or action) along with the associated details.