Troubleshooting

What to check when logs, errors or notifications do not show up.

Nothing shows up

  1. Wait a few seconds. Logs go out every 5 seconds or once 10 are waiting.
  2. Open your browser’s network tab and look for requests to apperioserver.onrender.com ending in /logs/batch. No request at all means the logger isn’t being created; check that the code runs in the browser.
  3. Check the response status against the table below.
  4. Check minLogLevel. With the default of info, logger.debug() and logger.trace() are dropped before sending.

What the response means

StatusMeaningFix
201Received.Look in Logs, and in Issues for errors.
400The batch was rejected: more than 100 logs, or a field over its limit.See the limits in the logs API.
401No API key was sent.Pass apiKey to the constructor.
403The API key isn’t valid.Copy it again from Settings › API Key. It changes when someone regenerates it.

Some logs are missing

  • Auto-captured events below info are never sent by default: fast requests, good Web Vitals, clicks. See Auto-instrumentation.
  • logger.addBreadcrumb() logs at debug, so it is dropped by default.
  • If the same batch is refused with 400 again and again, one log in it is over a limit, for example an error message longer than 1,000 characters. Shorten what you log; the stuck logs clear when the page reloads.

No notification for a new error

  • Check the error’s environment. With the default settings only production notifies, and the SDK tags logs development unless you set environment.
  • Only a new kind of error notifies, once. More occurrences of a known issue don’t.
  • Only the project owner is notified.
  • Check that notifications are on in Settings › Notifications.

Server errors aren’t captured

Automatic capture only works in browsers. In Node.js, report errors yourself; see Error tracking.

React or Next.js errors are missing

Error boundaries and Next.js error.tsx files catch rendering errors before the SDK sees them. Log them from the boundary, as the React and Next.js guides show.

Messages in the console

MessageWhat it means
Apperio: API Key is required.apiKey is missing or empty. The constructor throws.
Apperio: Project ID is required.projectId is missing or empty. The constructor throws.
Apperio: Already initialized. Call shutdown() first to re-initialize.Something called init(). Remove the call: the constructor already starts the logger.
Apperio: Authentication/Authorization failed. Check API Key.The API answered 401 or 403. See the status table above.
Apperio: Network error on attempt 1Apperio couldn’t be reached. The SDK retries; see Delivery and offline.
Apperio: Dropped 12 oldest logs due to buffer overflow.More than 1,000 logs were waiting. Lower the volume or the flush interval.

Changes or suspects are empty

  • Check Settings › Integrations: the GitHub App card should say Connected via GitHub App and a repository should be linked.
  • Check the linked branch is the one you push to.
  • Suspects are worked out once, when an issue is first opened, from commits in the 7 days before it first appeared. See Suspect commits.

Deploys say No verdict yet

The deploy is less than an hour old, nobody has opened the project overview since the hour ended, or one of the two hours had fewer than 10 logs. See Deploys and verdicts.

No replays

  • Check Settings › Session Replay is on, then wait up to 5 minutes and load a new page.
  • If your code sets replay.enabled, the code decides and the dashboard switch is ignored.
  • Only the sampled share of visits is recorded: 10% unless you change it. Set replay: { enabled: true, sampleRate: 1 } while testing.

Session counts look high

Each full page load starts a new session. See Sessions.