Skip to content
/ logtape Public

Unobtrusive logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions

License

Notifications You must be signed in to change notification settings

dahlia/logtape

Repository files navigation

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:

Package JSR npm Description
@logtape/logtape JSR npm Core logging functionality
@logtape/adaptor-log4js JSR npm log4js adapter
@logtape/adaptor-pino JSR npm Pino adapter
@logtape/adaptor-winston JSR npm winston adapter
@logtape/cloudwatch-logs JSR npm AWS CloudWatch Logs sink
@logtape/config JSR npm Object-based configuration
@logtape/drizzle-orm JSR npm Drizzle ORM integration
@logtape/elysia JSR npm Elysia integration
@logtape/express JSR npm Express integration
@logtape/fastify JSR npm Fastify integration
@logtape/hono JSR npm Hono integration
@logtape/koa JSR npm Koa integration
@logtape/file JSR npm File sinks
@logtape/otel JSR npm OpenTelemetry sink
@logtape/pretty JSR npm Beautiful text formatter
@logtape/redaction JSR npm Data redaction
@logtape/sentry JSR npm Sentry sink
@logtape/syslog JSR npm Syslog sink
@logtape/windows-eventlog JSR npm Windows Event Log sink

Docs

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

About

Unobtrusive logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project