Bug Reporting & Diagnostics Guide
Thank you for helping improve ChurchCRM! This guide will help you report bugs effectively and gather diagnostic information that helps us solve your issue faster.
🚀 Quick Path to Help
Choose your situation:
- Need Help or Have Questions → Post on GitHub Discussions (community support)
- Found a Bug → Use Bug Report Template on GitHub Issues
- Problem Inside ChurchCRM App → Use in-app bug reporting (auto-collects diagnostics)
- Cannot Log In / Installation Issue → See Collect Diagnostics
Help vs Bug Reports
Use GitHub Discussions for:
- How do I...? (feature questions)
- How do I configure...? (setup questions)
- Installation/setup help
- Troubleshooting specific to your setup
- General support questions
Use GitHub Issues for:
- Something doesn't work that should
- Error messages or crashes
- Features not behaving as documented
- Reproducible bugs
In-App Bug Reporting (Recommended)
This is the fastest way to get help:
- Log into your ChurchCRM instance
- Click Support → Report an Issue (top menu)
- Describe your problem
- System info is automatically captured ✓
- Logs are automatically included ✓
- Submit - our team will receive it immediately
Why this is best:
- ✅ Automatically collects your environment details
- ✅ Includes your system logs
- ✅ Includes your configuration (sanitized for privacy)
- ✅ No need to manually collect diagnostic info
Collect Diagnostics
If you need to report via GitHub or can't access the in-app tool, gather this information:
Your Setup
- ChurchCRM Version: [e.g., 5.4.3]
- Installation Type: [Shared Hosting / Self-Hosted Linux / Docker / Other]
- Hosting Provider: [e.g., Bluehost, AWS, etc. - if applicable]
- Operating System: [e.g., Windows / macOS / Linux]
- Web Server: [Apache / Nginx / Other]
- PHP Version: [e.g., 8.2.5]
- Database: [MySQL 8.0.11+ / MariaDB 10.5+ / Other and version]
- Browser: [e.g., Chrome, Firefox, Safari]
- Browser Version: [e.g., 120.0]
Your Logs
Three Ways to Get Logs (in order of ease):
Option 1: Admin UI (Easiest - No file access needed)
- Log in to ChurchCRM as admin
- Go to Admin → System Logs
- Filter by ERROR or CRITICAL level
- Click View (eye icon) on relevant log file
- Copy the error messages
Option 2: cPanel File Manager (Shared Hosting)
- Log in to cPanel
- Click File Manager
- Navigate to your ChurchCRM directory (usually
public_html/churchcrm) - Open the
logs/folder - Download today's
-app.logfile (e.g.,2025-11-17-app.log) - Open in a text editor and find [ERROR] entries
Option 3: SSH (Self-Hosted/VPS)
# SSH into your server, then:
cd /var/www/vhosts/churchcrm/logs/
# View today's errors
grep ERROR 2025-11-17-app.log
# Or view last 100 lines
tail -100 2025-11-17-app.log
# Or search specific time window
grep "2025-11-17 14:" 2025-11-17-app.log | grep ERROR
Option 4: cPanel Error Log (Apache Level)
- Log in to cPanel
- Click Error Log (in Main section)
- Look for messages around the time of your issue
- Copy relevant entries
What to Look For in Logs
When reviewing logs, focus on:
[ERROR] - Error messages (usually important)
[CRITICAL] - Critical errors (almost always relevant)
[WARNING] - Warnings (sometimes helpful)
Ignore:
[DEBUG] - Debug info (unless specifically asked)
[INFO] - Info messages (usually not relevant)
[NOTICE] - Notices (usually not relevant)
Example error to copy:
[2025-11-17T14:35:22.123456+00:00] appLogger.ERROR: Unable to connect to database
Error {
"message":"Connect error",
"database":"churchcrm",
"user":"churchcrm_user"
}
GitHub Bug Report Template
Use this format when reporting on GitHub:
Title
Bug: [Brief description]
Description
Copy and fill in:
## What happened?
[Describe the issue in clear, simple terms]
## Steps to reproduce
1. Go to '...'
2. Click on '...'
3. Observe error
## What I expected
[What should have happened instead]
## Environment
- ChurchCRM Version: [e.g., 5.4.3]
- Installation: [Shared Hosting / Self-Hosted / Docker]
- Hosting Provider: [if applicable]
- PHP Version: [e.g., 8.2]
- Database: [MySQL 8.0.11+ / MariaDB 10.5+]
- Browser: [Chrome / Firefox / Safari]
## Error Messages or Logs
### ChurchCRM Log (from Admin → System Logs)
[Paste ERROR/CRITICAL entries here, wrapped in ```code``` blocks]
### Apache/Server Error Log
[If available, paste relevant Apache error log entries]
## Screenshots
[If applicable, paste or attach screenshots showing the issue]
## Additional Info
[Anything else that might help - custom fields, plugins, recent changes, etc.]
Privacy & Security
Before sharing logs:
- Redact sensitive information (usernames, IP addresses, domains, etc.)
- Be consistent when redacting - use
[REDACTED]for all instances - Never share database passwords or API keys
- System info (PHP version, server type) is safe to share
Example redacted log:
[2025-11-17T14:35:22] authLogger.INFO: User login attempt: [REDACTED]
Connection from: [REDACTED IP]
User-Agent: Chrome/120.0
How to Format Logs in GitHub
Always wrap logs in code blocks:
```
[2025-11-17T14:35:22] error message here
[2025-11-17T14:35:23] another error here
```
This makes them:
- ✅ Easy to read
- ✅ Searchable
- ✅ Copyable by developers
Don't:
- ❌ Screenshot logs (can't be searched or copied)
- ❌ Paste raw text without code block
- ❌ Share entire log file unformatted
What Happens Next?
- Issue Created: Your bug report is received
- Triage: Team reviews the logs and environment
- Investigation: Developers reproduce or research the issue
- Response: You'll get a comment with next steps
- Resolution: Either a fix is released or workaround provided
You'll receive updates via:
- GitHub issue comments (if reported on GitHub)
- In-app support system (if reported via ChurchCRM)
Still Need Help?
- Wiki Troubleshooting: Troubleshooting Guide
- Logging Details: Logging & Diagnostics
- System Requirements: System Requirements
- Gitter Chat: ChurchCRM Community Chat
- GitHub Issues: Browse existing issues
Reporting Security Issues
For security vulnerabilities, DO NOT create a public GitHub issue.
Instead, see Security Policy for responsible disclosure.
Thank you for helping make ChurchCRM better! 🙏