Skip to content

fix: route dev-server response logging through Vite's logger - #16858

Merged
Rich-Harris merged 1 commit into
sveltejs:version-3from
marwan562:fix/route-dev-logging-through-vite-logger
Aug 20, 2026
Merged

fix: route dev-server response logging through Vite's logger#16858
Rich-Harris merged 1 commit into
sveltejs:version-3from
marwan562:fix/route-dev-logging-through-vite-logger

Conversation

@marwan562

Copy link
Copy Markdown
Contributor

Fixes #16825

Summary

In the dev server, every SSR response is logged to the console (e.g. 200 GET /) via a raw console.log from log_response in the runtime server/internal.js. Because it bypasses Vite's logger, logLevel and customLogger have no effect on it.

This change routes dev-server response logging through Vite's resolved logger:

  • format_response(status, request) in packages/kit/src/runtime/server/internal.js is now a pure function that returns the formatted line instead of printing it, so the caller decides how to emit it.
  • The dev middleware (packages/kit/src/exports/vite/dev/index.js) emits the line via vite_dev_server.config.loggerlogger.info for statuses < 400 and logger.error for >= 400. This means:
    • logLevel: "warn" (or "error"/"silent") now suppresses successful-request lines, while errors remain visible
    • a user-supplied customLogger receives the lines
  • Prerender logging (packages/kit/src/core/postbuild/prerender.js) is unchanged in behaviour — it still prints only >= 400 responses via console.log.
  • Renamed log_response -> format_response in the generated server module (core/sync/write_server.js) and the internal type declaration to match the new contract.

Testing

  • Added unit tests for format_response covering plain pages, data requests, route-resolution requests, remote-function requests, and error responses (all pass).
  • pnpm tsc-native and oxfmt --check pass on the changed files.

Changesets

patch for @sveltejs/kit.

@pkg-svelte-dev

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 4fcce71:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/4fcce71590aacac9d3b4dd7bd9f503c90d405a02

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16858

Note

This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed.

@changeset-bot

changeset-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4fcce71

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Rich-Harris Rich-Harris left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you!

@Rich-Harris
Rich-Harris merged commit d0d3a33 into sveltejs:version-3 Aug 20, 2026
23 of 24 checks passed
Rich-Harris pushed a commit that referenced this pull request Aug 21, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to version-3, this PR
will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`version-3` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `version-3`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @sveltejs/adapter-bun@1.0.0-next.1

### Minor Changes

- feat: add a Bun-native adapter with static file serving and
single-executable support
([#16695](#16695))

### Patch Changes

- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25
## @sveltejs/kit@3.0.0-next.25

### Minor Changes

- feat: add an `applyReroute` helper for adapters that support split
serverless function deployments
([#16665](#16665))

### Patch Changes

- chore: build streamed responses from async generators
([#16847](#16847))

- fix: tweak response logging for remote requests
([#16865](#16865))

- fix: discard invalidation results when a navigation completes while
they load ([#16852](#16852))

- fix: route dev-server response logging through Vite's logger so it
respects `logLevel` and `customLogger`
([#16858](#16858))

- chore: read build-time config from defines on the server instead of
carrying it in `options`
([#16873](#16873))

- chore: read `options` from a single module instead of passing it
through the server runtime
([#16871](#16871))
## @sveltejs/adapter-netlify@7.0.0-next.10

### Patch Changes

- fix: correctly apply `reroute` results for apps configured with split
serverless functions
([#16665](#16665))
- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25
## @sveltejs/adapter-vercel@7.0.0-next.8

### Patch Changes

- fix: omit ISR data endpoints for server-only routes
([#16731](#16731))

- fix: correctly apply `reroute` results for apps configured with split
serverless functions
([#16665](#16665))
- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Non-configurable request logs in console (SvelteKit 3)

2 participants