System Troubleshooting
Windows Event Log
Check Windows Event Log for errors (Control Panel, Administrative Tools, Event Viewer). Patriot logs to the Application log. Both services and the client will log there for errors.
Administrative privileges are required to setup the source in the event log. If you aren't getting any entries in the event log, try logging into the machine as an administrator, and starting up the Patriot client (run as administrator). This should setup the source in the event log and allow other users to then write to it.
Task Troubleshooting
See Task diagnostics
Program Internal Diagnostics
The Patriot programs also support the reporting of internal diagnostic messages, using standard Microsoft trace statements. A client program can be run on a workstation or server and display these messages for fine grained diagnostics.
The messages reported are grouped into categories, so its possible to enable selected categories to avoid a flood of unrelated messages appearing.
The config file of the Patriot program you wish to debug must be edited. Please note this is an advanced operation, incorrect changes may stop the program from running. Its recommended you take a backup of the config file before editing.
<system.diagnostics>
section must be added (if not already there) to the <configuration>
section. An example of the changes required to get the DataServiceStart event messages only reporting is as follows,
<system.diagnostics>
<sources>
<source name="DataServiceStartup" switchName="DataServiceStartupSwitch" />
<source name="Tasks" switchName="TasksSwitch" />
<source name="PresetReports" switchName="PresetReportsSwitch" />
</sources>
<switches>
<add name="DataServiceStartupSwitch" value="Information" />
<add name="TasksSwitch" value="Off" />
<add name="PresetReportsSwitch" value="Off" />
</switches>
<trace>
<listeners>
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
The list of possible sources includes
- PresetReports
- DataServiceStartup
- DataServiceShutdown
- DatabaseMaintenance
- PatriotClientStartup
- Tasks
- ResponsePlans
- AutoDialler
- PendingAttends
- CitiesCache
- Workspaces
- UIActions
- CommandMessages
- DatabaseQueries
- SignalLogging
- DesktopApiWebSocket
The switchName property should match the source name, with 'Switch' added to the end. Only the sources needed must be defined in the <sources>
section.
In the <switches>
section you can define the level of the event message that is reported. For our purposes you only need to set this to "Off" or "Information".
Copy the <trace>
section as per the example above.
Once the change to the config is made, the Patriot program must be restarted.
You can now setup a client program to view the messages reported. DebugView is a freely available program designed for this purpose.
https://docs.microsoft.com/en-us/sysinternals/downloads/debugview
This must be run on the same machine issuing the messages. So for example if you are diagnosing reporting issues, make sure you run this on the machine running the reports.