Collecting Diagnostics¶
Before escalating an issue, gather the following information. This helps the development team diagnose the problem faster.
Checklist¶
Use this checklist to make sure you have everything:
- Log files (last 24 hours minimum)
- Configuration file (appsettings.json -- with passwords redacted)
- Screenshot of the error or problem
- Hardware status (from Diagnostics panel)
- Network connectivity results (ping results)
- Export queue status (if applicable)
- Error files (if export errors)
1. Log Files¶
Where to find them¶
What to collect¶
- Copy the log file for today's date.
- If the issue started yesterday or earlier, also copy the log file from that date.
- If the issue is intermittent, copy the last 2-3 days of logs.
How to collect¶
- Open File Explorer.
- Navigate to
C:\gatekeeper\conveyor\logs\ - Right-click the log file(s) and select Copy.
- Paste them into a folder for your escalation.
Tip: Copy the files rather than moving them. The application is still writing to today's log file.
2. Configuration File¶
Where to find it¶
How to collect¶
- Copy
appsettings.jsonto your escalation folder. - IMPORTANT -- Redact passwords before sending:
- Open the copy in Notepad.
- Find any lines containing
Passwordorpassword. - Replace the password value with
[REDACTED]. - Example: Change
"TeasdaleNetworkPassword": "ENC:AQAAAnc..."to"TeasdaleNetworkPassword": "[REDACTED]" - Save the file.
3. Screenshots¶
What to capture¶
- The main application screen showing the error or problem
- The Diagnostics panel showing hardware status
- Any error dialog boxes
How to capture¶
- Make sure the screen shows what you want to capture.
- Press Windows key + Shift + S to open the Snipping Tool.
- Select the area to capture.
- Paste into an image editor or directly into your escalation email/ticket.
Alternative: Press Print Screen to capture the entire screen, then paste with Ctrl+V.
4. Hardware Status¶
What to note¶
From the Diagnostics panel, record:
| Item | Value |
|---|---|
| Camera status | Connected / Disconnected |
| Camera connection string | IP:Port shown |
| RFID reader status | Connected / Disconnected / Not configured |
| RFID reader connection string | IP:Port shown |
| Controller status | Connected / Disconnected |
| Controller connection string | IP:Port or COMx shown |
| Validation mode | Current mode |
| Reject enabled | Yes / No |
| Consecutive failures | Count shown |
5. Network Connectivity Results¶
What to test¶
Test connectivity to each hardware device:
Also test the export endpoint (if exports are failing):
What to record¶
For each ping, note: - Whether replies were received - Average response time - Any packet loss
6. Export Queue Status¶
What to check¶
- Count files in
C:\gatekeeper\conveyor\data\ais\todo\(pending) - Check if
C:\gatekeeper\conveyor\data\ais\error\exists and has files (failed) - Note the dates of the most recent files in each folder
Error files¶
If there are files in the error\ folder:
1. Copy any _ERROR.txt files from the most recent date subfolder.
2. Include them in your escalation.
Quick Collection Script (PowerShell)¶
If you are comfortable with PowerShell, you can use this script to collect everything at once:
# Create collection folder
$bundle = "C:\temp\gatekeeper-support-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
New-Item -ItemType Directory -Path $bundle -Force
# Copy log files (last 3 days)
Copy-Item "C:\gatekeeper\conveyor\logs\gatekeeper-*.log" $bundle
# Copy config file (REMEMBER TO REDACT PASSWORDS MANUALLY)
Copy-Item "C:\gatekeeper\conveyor\appsettings.json" "$bundle\appsettings-REDACT-PASSWORDS.json"
# Copy export error files if they exist
if (Test-Path "C:\gatekeeper\conveyor\data\ais\error") {
Copy-Item "C:\gatekeeper\conveyor\data\ais\error" $bundle -Recurse
}
# Count pending exports
$pending = (Get-ChildItem "C:\gatekeeper\conveyor\data\ais\todo" -ErrorAction SilentlyContinue).Count
"Pending exports: $pending" | Out-File "$bundle\queue-status.txt"
# Create zip file
Compress-Archive -Path $bundle -DestinationPath "$bundle.zip" -Force
Write-Host "Support bundle created at: $bundle.zip"
Write-Host "REMINDER: Open appsettings-REDACT-PASSWORDS.json and replace password values with [REDACTED]"
After running the script: Open appsettings-REDACT-PASSWORDS.json in the bundle and redact any passwords before sending.
What the development team needs most¶
In order of importance:
- Log file -- Contains the exact error messages and system state at the time of the issue.
- Exact error message -- The precise text shown on screen or in the log.
- Configuration file -- Shows the current settings and hardware configuration.
- Steps to reproduce -- How to make the problem happen again.
- Timeline -- When it started, whether it is constant or intermittent, and what changed recently.