Skip to content
/ logtape Public

Simple 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. It provides a simple and flexible logging system that is easy to use and easy to extend. 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.

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-pino JSR npm Pino adapter
@logtape/adaptor-winston JSR npm winston adapter
@logtape/cloudwatch-logs JSR npm AWS CloudWatch Logs sink
@logtape/drizzle-orm JSR npm Drizzle ORM 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

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 18