Logs
When something goes wrong, logs are your best friend. They tell you exactly what happened, when it happened, and why. The Logs section shows you real-time streams and historical records so you can see what's happening (or what went wrong).
Viewing Logs
Open your app and navigate to the Logs section. You'll see a live stream of log entries from your running containers. By default, it shows everything: deployment logs, app output, errors, system messages, all mixed together.
Logs update in real-time. If your app is currently running and processing requests, you'll see new entries appear instantly. This is perfect for testing and development when you want to watch your app as it works.
Filtering Logs
Looking through all logs can be overwhelming. Use filters to find what matters:
All: Everything. Every log entry from your app and its containers.
App: Just application logs. Filters out deployment messages and system logs, showing only what your code is outputting.
Errors: Only errors. Perfect when hunting down problems. This filters to just entries that indicate failures or exceptions.
Click the filter buttons to toggle between them. You can also combine filters depending on what you're looking for.
Searching Logs
Looking for something specific? Use the search box to find it. Type any text and Galaxy highlights matching entries.
Want to find database connection errors? Search for "connection". Looking for a specific user ID that's having issues? Search for that ID. The search is straightforward text matching, so be as specific as you need.
Time Range Filtering
Use the date range picker to look at logs from a specific time period. Want to see logs from last night when something broke? Pick the time range and Galaxy shows only entries from that window.
This is useful when you know roughly when a problem happened and want to narrow down what's in the logs.
Live Mode
Toggle Live Mode (the red dot icon) to stream logs in real-time. When Live Mode is on, new entries appear instantly. When it's off, you're viewing a static snapshot of logs.
Live Mode on: Perfect for testing new deployments or watching your app process requests in real-time.
Live Mode off: Better for reviewing historical logs and taking your time to read through what happened.
Most of the time you'll want Live Mode on while testing new deployments. Deploy your code, turn on Live Mode, and watch logs stream in as your app starts. If something breaks, you'll see the error immediately.
Hit a snag during deployment? Turn on Live Mode and watch the logs. You'll usually see the exact error that's causing problems without needing to contact support.
Understanding Log Entries
Each log entry shows several pieces of information:
Timestamp: When this entry was logged. Useful for correlating events.
Container: Which container instance generated this log. Helpful when debugging container-specific issues.
Level: Severity level. Info, warning, error, etc. Gives you a sense of how serious the message is.
Message: The actual log content. What your app (or Galaxy) is telling you.
Log format varies depending on your app. Some apps log as plain text. Others use JSON structured logging. Galaxy shows them all, preserving the original format from your app.
Common Log Patterns
Build logs during deployment: You'll see lots of output about dependency installation, compilation, and app startup. This is normal. Errors here usually mean something's wrong with your code or dependencies.
App startup messages: When your app starts, it often logs initialization messages. Libraries loading, configurations being set, database connections opening. These are informational.
Request logs: As users access your app, you might see logs for each request (depending on your app's configuration). This shows traffic and helps you understand usage patterns.
Error messages: When something fails, errors are logged here. These are critical for debugging. Error messages often explain what went wrong and sometimes suggest fixes.
Troubleshooting with Logs
Before reaching out to support, always check logs first. Most issues are visible here:
App won't start? Look at deployment logs. You'll see errors about missing dependencies, incorrect configuration, syntax errors, or port binding issues.
Requests failing? Check app logs around the time users were affected. You'll see error messages explaining what went wrong.
Slow performance? Application logs might show long-running operations or database timeouts. Performance issues are often visible in the logs.
Strange behavior? Search logs for unusual patterns or error messages. You might find warnings that preceded the issue.
If you see an error in logs but don't know what it means, try searching online for the exact error message. Usually Stack Overflow or GitHub issues have answers from people who've hit the same problem.
Exporting Logs
Need to share logs with someone or keep them for records? Most log sections have an export or download option. Check if your app's logs can be exported to a file for sharing or archival.
Limitations
Logs have retention limits. Galaxy keeps a certain amount of recent logs, but very old entries are eventually deleted. If you need long-term log archival, consider sending logs to an external service like Papertrail, Datadog, or LogRocket.
For critical apps, external log aggregation is worth the investment. It gives you searchable, long-term access to logs without worrying about Galaxy's retention limits.
What's Next?
Containers
Understand container status, monitor resources, and scale your app to handle growth.
Plans
The Plans section is where you manage your app's resources. This is how you scale up when traffic increases, downsize when you want to save money, or adjust your hosting tier based on what your app actually needs.
