Skip to main content
Logs show you everything that’s happening in your app as it runs. Think of them like a detailed activity feed that tracks events, errors, and actions from both your app’s interface (frontend) and its backend logic. Logs help you understand what your app is doing, troubleshoot issues, and verify that features are working as expected.

Why logs matter

Logs are essential for:

Debugging errors

When something goes wrong, logs show you exactly what happened and where the issue occurred.

Verifying features work

After building or updating a feature, logs confirm it’s running correctly.

Understanding user actions

See what users are doing in your app—which buttons they tap, what data they submit, etc.

Monitoring performance

Track how long actions take and identify slow operations that need optimization.

How to use logs

Filter by source

Switch between Frontend and Backend to focus on different parts of your app:
Frontend logs show what’s happening in your app’s user interface:
  • User interactions (button taps, navigation, form submissions)
  • Screen transitions and component updates
  • Network requests from your app
  • Client-side errors or warnings
Frontend logs help you understand the user experience and debug interface issues.

Filter by level

Choose which types of log entries to see:

All Levels

Shows everything—useful for getting the complete picture of what’s happening.
Shows only critical failures that break functionality.Errors appear in red/pink backgrounds and typically include detailed error messages and stack traces showing where the problem occurred.
Start here when debugging! Errors indicate something needs to be fixed.
Example: API key not valid, database connection failed, function threw an exception
Shows potential issues that might cause problems but didn’t break anything yet.Warnings help you catch issues before they become errors.Example: Deprecated function used, slow query detected, unusual data pattern
Shows general application events and confirmations.Info logs tell you what your app is doing during normal operation.Example: User logged in, email sent, data saved successfully
Shows successful operations and their completion details.Success logs confirm features are working as intended.Example: Payment processed, file uploaded, notification delivered

Filter by time

Since last deploy (checkbox)
When checked, logs only show entries from after your most recent deployment. This helps you focus on the current version of your app and ignore older logs.
Enable “Since last deploy” when testing new features to see only relevant activity.

Search logs

Use the search bar to find specific:
  • Error messages
  • Function names
  • User IDs
  • Keywords or text
This is helpful for tracking down specific issues or understanding what happened during a particular user session.

Reading log entries

Each log entry includes:
Source badge
Frontend | Backend
Shows whether the log came from your app’s interface or server
Timestamp
date/time
Exact time the event occurred (e.g., “Dec 14, 11:20:25 AM”)
Message
string
Description of what happened, including:
  • The type of event (e.g., [CONVEX A(...)], [ERROR])
  • Detailed error messages for failures
  • Function names and file locations
  • Stack traces showing the code path
Additional context
object
Technical details like:
  • File paths and line numbers
  • Function call hierarchy (stack trace)
  • API responses or error codes

Understanding errors

When you see an error in logs (highlighted in red/pink):
1

Read the error message

The main message explains what went wrong in plain language.Example: "API key not valid. Please pass a valid API key."
2

Check the context

Look at the details below the error:
  • Which function failed (predictions:scanMatches)
  • The file and line number (convex:/user/predictions.js:1509:9)
  • What the function was trying to do when it failed
3

Look at the stack trace

The lines starting with “at” show the sequence of function calls that led to the error. This helps pinpoint exactly where the issue occurred.
4

Fix the issue

Based on the error message, take action:
  • Add a missing API key in API Connections
  • Fix incorrect logic in your app
  • Update configuration or environment variables
5

Verify the fix

After making changes, watch the logs to confirm the error no longer appears.

Common scenarios

If you see “No frontend logs found since last deploy”:
  1. Make sure you’re using your app (logs only appear when something happens)
  2. Try unchecking “Since last deploy” to see older logs
  3. Switch between Frontend and Backend tabs
  4. Check if the search box has any filters that might be hiding results
  1. Ask when the issue occurred (date/time)
  2. Switch to the appropriate tab (Frontend for UI issues, Backend for data/logic issues)
  3. Uncheck “Since last deploy” if needed to see older logs
  4. Filter to “Errors” to see what failed
  5. Look for errors around that time
  6. Read the error message to understand what went wrong
  1. Check “Since last deploy” to see only recent activity
  2. Keep logs open while testing your feature
  3. Watch for new log entries as you interact with your app
  4. Filter to “Errors” to catch any issues immediately
  5. Verify success messages appear when expected
If you see errors about API keys, external services, or connections:
  1. Read the error message carefully (often tells you exactly what’s wrong)
  2. Check API Connections to verify keys are configured
  3. Ensure auto-provisioning is enabled or custom keys are valid
  4. Look for specific error codes (like “400 Bad Request” or “401 Unauthorized”)
  5. Consult the external service’s documentation if needed
  1. Switch to “All Levels” to see all operations
  2. Look for patterns of slow operations
  3. Check Backend logs for long execution times
  4. Identify which functions are taking the longest
  5. Consider optimization or reach out for help

Tips for non-technical users

Don't panic about technical details

You don’t need to understand every line—focus on the main error message and what it says went wrong.

Use filters liberally

Start with “Errors” only to avoid being overwhelmed. You can always expand to see more.

Copy errors when asking for help

If you need support, copy the entire error log entry—it helps diagnose issues faster.

Watch logs while testing

Keep logs open in a second window or tab while testing your app. You’ll catch issues immediately.
Scroll to Bottom button: Click this to jump to the most recent logs instantly.

Real-time updates

Logs update automatically as your app runs. You don’t need to refresh—new entries appear at the bottom of the list as they happen. This makes logs perfect for:
  • Live debugging while testing
  • Monitoring your app during active use
  • Watching deployments complete successfully

Getting help with logs

If you encounter an error you can’t resolve:
  1. Copy the error message (including stack trace)
  2. Note what you were doing when the error occurred
  3. Check if it’s repeatable (does it happen every time?)
  4. Share the log entry with Bloom support or your team

Need more help?

Contact support with your log details for personalized assistance