Skip to content
LogoLogo

Relationship to Tevm

Where this repo came from

@tevm/logger lived in evmts/tevm-monorepo as packages/logger. It was extracted into evmts/tevm-logger with its package history preserved, and is now versioned and released independently.

The package name did not change. pnpm add @tevm/logger installs the same package it always did; only the repository it is built from moved.

Who depends on it

Inside the monorepo, @tevm/logger is a dependency of:

PackageWhat it logs
@tevm/nodeNode lifecycle, forking, request handling (TevmClient)
@tevm/commonChain and hardfork configuration (@tevm/common)
@tevm/blockchainBlock insertion, reorgs
@tevm/evmExecution internals
@tevm/stateState cache and fork state fetching
@tevm/compilerSolidity compilation (bundler)
@tevm/mudMUD integration (bundler)

It sits at the bottom of the dependency graph on purpose: it depends only on pino, and on nothing else in Tevm. That is what lets @tevm/state log without depending on the EVM, and lets the bundler log without depending on the node.

                @tevm/logger  ──►  pino
                     ▲
       ┌─────────────┼──────────────┬───────────────┐
  @tevm/common  @tevm/state   @tevm/blockchain  @tevm/compiler
       ▲             ▲              ▲
       └────────── @tevm/evm ───────┘
                     ▲
                @tevm/node  ──►  tevm

What lives here vs. what lives elsewhere

This repo owns the createLogger factory, the Logger and LogOptions/Level types, this documentation site, and the release of @tevm/logger to npm.

This repo does not own how Tevm components choose their levels or what they log. createTevmNode's loggingLevel default of warn, and the specific records @tevm/node emits, live in the monorepo. File issues about what Tevm logs against tevm-monorepo; file issues about the logger itself here.

Documentation map

SiteCovers
tevm.shUmbrella Tevm documentation
node.tevm.shTevm Node — the in-JS Ethereum node
logger.tevm.sh (this site)@tevm/logger

Versioning

@tevm/logger releases independently via changesets, on the same 1.0.0-rc.x line as the rest of Tevm. Because RC versions are prerelease identifiers, a caret range does not span RCs — pin the exact version if you want the logger and tevm to move together. See Installation.

Contributing

The repo is small and the loop is fast:

git clone https://github.com/evmts/tevm-logger.git
cd tevm-logger
pnpm install
pnpm test        # vitest
pnpm typecheck   # tsc --noEmit
pnpm lint        # biome
pnpm build       # tsup

For the docs site:

cd site
pnpm install
pnpm dev         # http://localhost:5173
pnpm build

Changes to the public API need a changeset (pnpm changeset). Missing or wrong JSDoc in src/ is treated as a bug — fix it in the source, and the reference pages here alongside it.