LogTape

August 3, 2025 · View on GitHub

LogTape

JSR npm Bundlephobia GitHub Actions Codecov

LogTape is a logging library for JavaScript and TypeScript designed with a library-first philosophy. Unlike traditional loggers, LogTape is unobtrusive—libraries can safely log without any configuration, while applications retain full control. With zero dependencies and universal runtime support, it works seamlessly across Deno, Node.js, Bun, browsers, and edge functions.

The highlights of LogTape are:

  • Zero dependencies: LogTape has zero dependencies. You can use LogTape without worrying about the dependencies of LogTape.

  • Library support: LogTape is designed to be used in libraries as well as applications. You can use LogTape in libraries to provide logging capabilities to users of the libraries.

  • Runtime diversity: LogTape supports Deno, Node.js, Bun, edge functions, and browsers. You can use LogTape in various environments without changing the code.

  • Structured logging: You can log messages with structured data.

  • Hierarchical categories: LogTape uses a hierarchical category system to manage loggers. You can control the verbosity of log messages by setting the log level of loggers at different levels of the category hierarchy.

  • Template literals: LogTape supports template literals for log messages. You can use template literals to log messages with placeholders and values.

  • Built-in data redaction: LogTape provides robust capabilities to redact sensitive information from logs using pattern-based or field-based approaches.

  • Dead simple sinks: You can easily add your own sinks to LogTape.

  • Framework integrations: First-class support for popular frameworks like Express, Fastify, Hono, Koa, and Drizzle ORM with automatic HTTP request logging and database query logging.

LogTape web console output LogTape terminal output

Installation

LogTape is available on JSR and npm. You can install LogTape for various JavaScript runtimes and package managers:

deno add jsr:@logtape/logtape  # for Deno
npm  add     @logtape/logtape  # for npm
pnpm add     @logtape/logtape  # for pnpm
yarn add     @logtape/logtape  # for Yarn
bun  add     @logtape/logtape  # for Bun

See also the installation manual for more details.

Packages

LogTape is a monorepo that contains several packages. The main package is @logtape/logtape, which provides the core logging functionality. Other packages provide additional features and integrations. The following is a list of the packages in the LogTape monorepo:

PackageJSRnpmDescription
@logtape/logtapeJSRnpmCore logging functionality
@logtape/adaptor-bunyanJSRnpmBunyan adapter
@logtape/adaptor-log4jsJSRnpmlog4js adapter
@logtape/adaptor-pinoJSRnpmPino adapter
@logtape/adaptor-winstonJSRnpmwinston adapter
@logtape/cloudwatch-logsJSRnpmAWS CloudWatch Logs sink
@logtape/configJSRnpmObject-based configuration
@logtape/drizzle-ormJSRnpmDrizzle ORM integration
@logtape/elysiaJSRnpmElysia integration
@logtape/expressJSRnpmExpress integration
@logtape/fastifyJSRnpmFastify integration
@logtape/honoJSRnpmHono integration
@logtape/koaJSRnpmKoa integration
@logtape/fileJSRnpmFile sinks
@logtape/otelJSRnpmOpenTelemetry sink
@logtape/prettyJSRnpmBeautiful text formatter
@logtape/redactionJSRnpmData redaction
@logtape/sentryJSRnpmSentry sink
@logtape/syslogJSRnpmSyslog sink
@logtape/windows-eventlogJSRnpmWindows Event Log sink

Docs

The docs of LogTape is available at https://logtape.org/. For the API references, see https://jsr.io/@logtape/logtape.