# logd

> A powerful modular logging facility for node.js

Latest version **5.3.0** (published 2026-04-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install logd
pnpm add logd
yarn add logd
bun add logd
```

## Health

**Score 55/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.3.0 |
| Published | 2026-04-23 |
| First published | 2015-12-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 60.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Lina van der Weg |
| Maintainers | ee |
| Keywords | log, logger |

## Links

- npm: https://www.npmjs.com/package/logd
- Repository: https://github.com/distributed-systems/logd
- Issues: https://github.com/distributed-systems/logd/issues
- npm.io page: https://npm.io/package/logd

## Dependencies (2)

- [error-stack-parser](https://npm.io/package/error-stack-parser.md) ^2.1.4
- [logd-console-output](https://npm.io/package/logd-console-output.md) ^3.0.5

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 5.3.0 (latest) — 2026-04-23
- 5.1.14 — 2025-10-14
- 5.1.13 — 2025-10-14
- 5.1.12 — 2025-10-14
- 5.1.11 — 2025-06-26
- 5.1.10 — 2025-05-20
- 5.1.9 — 2025-04-30
- 5.1.8 — 2025-04-30
- 5.1.7 — 2025-04-30
- 5.1.6 — 2025-04-30
- 5.1.5 — 2025-04-30
- 5.1.4 — 2025-04-30
- 5.1.3 — 2025-04-30
- 5.1.2 — 2025-04-29
- 5.1.1 — 2025-04-27
- … 22 more at https://npm.io/package/logd/versions

## README

# logd

A powerful modular logging facility for node.js




[![npm](https://img.shields.io/npm/dm/logd.svg?style=flat-square)](https://www.npmjs.com/package/logd)

## Using Logd

In the main file of your application or library, import the module, define a 
namespace and set a transport for the log output.

```typescript
import logd from 'logd';

// define the module we're logging from
const log = logd.module('my-service');


// start logging
log.info('some information');


// you may pass as many arguments as you like 
// to the log methods
log.error('something went wrong', err, {some: 'data'});
```

## Test runners: capture logs without console noise

On Node, you can register a sink that receives every `LogMessage` after the usual enable/level filters. Use **`replace`** so the default console transport is skipped (for example when a worker forwards lines to a parent process).

```typescript
import logd from 'logd';

logd.enableLogs();
logd.registerLogSink((message) => {
  // forward message.getValues(), message.getModuleName(), message.getLogLevel(), etc.
}, 'replace'); // or 'mirror' to keep printing to the console as well
```

Call **`registerLogSink(null)`** to clear the sink. Sink callbacks must not throw; errors inside a sink are swallowed so logging never breaks.

## Enable logs: Node
```bash
node mysript.js --l
```

```bash
node mysript.js --l --warn
```

```bash
node mysript.js --log
```

```bash
node mysript.js --log --level=debug
```


## Enable logs: Browser

in the console

```javascript
logd.enable();
```

```javascript
logd.enable('error');
```

---
_Source: https://npm.io/package/logd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
