# @dimjs/logger

> Simple, pretty and powerful logger for nodejs

Latest version **2.1.7** (published 2026-02-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install @dimjs/logger
pnpm add @dimjs/logger
yarn add @dimjs/logger
bun add @dimjs/logger
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.1.7 |
| Published | 2026-02-04 |
| First published | 2023-02-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | >=16.0.0 |
| Dependencies | 3 |
| Unpacked size | 20 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Yingchun Tian |
| Maintainers | tcsk2026, tianyingchun, shunqwang |

## Links

- npm: https://www.npmjs.com/package/@dimjs/logger
- npm.io page: https://npm.io/package/@dimjs/logger

## Dependencies (3)

- [@dimjs/lang](https://npm.io/package/@dimjs/lang.md) 2.1.1
- [@dimjs/utils](https://npm.io/package/@dimjs/utils.md) 2.1.7
- [@armit/logger](https://npm.io/package/@armit/logger.md) ^0.3.0

## Recent versions

- 2.1.7 (latest) — 2026-02-04
- 2.0.0-next.2 (next) — 2024-07-24
- 2.1.6 — 2026-02-02
- 2.1.5 — 2026-02-02
- 2.1.4 — 2026-01-28
- 2.1.3 — 2026-01-14
- 2.1.2 — 2025-04-01
- 2.1.1 — 2025-03-06
- 2.1.0 — 2025-03-05
- 2.0.12 — 2025-02-28
- 2.0.11 — 2025-02-27
- 2.0.10 — 2025-02-27
- 2.0.9 — 2025-02-10
- 2.0.7 — 2025-01-08
- 2.0.6 — 2025-01-02
- … 32 more at https://npm.io/package/@dimjs/logger/versions

## README

# @dimjs/logger

Simple, pretty and powerful logger for nodejs

### Setup

Initialize

```ts
import { logger } from '@dimjs/logger';
logger.debug('hello', 'context');
```

And customized adapter with builtin sentry

```ts
import {
  createLogger,
  SentryAdapter,
  SentryFormatStrategy,
} from '@dimjs/logger';

const logger = createLogger({
  logLevel: LogLevel.Warn,
  adapter: new SentryAdapter({
    formatStrategy: new SentryFormatStrategy(),
  }),
});

logger.debug('hello', 'context');
```

And customized adapters

```ts
// customize custom adapter
export class CustomAdapter<T> implements LogAdapter<T> {
  isLoggable(priority: LogLevel, context?: string | undefined): boolean {
    throw new Error('Method not implemented.');
  }
  config(config?: LogAdapterConfig | undefined): LogAdapter {
    throw new Error('Method not implemented.');
  }
  print(priority: LogLevel, context: string, message: T, trace?: any): void {
    throw new Error('Method not implemented.');
  }
}
```

```ts
// customize custom format strategy for `CustomAdapter`
export class CustomFormatStrategy<T> implements FormatStrategy<T> {
  print(priority: LogLevel, context: string, message: T, trace?: any): void {
    throw new Error('Method not implemented.');
  }
}
```

```ts
// create new logger
const logger = createLogger({
  logLevel: LogLevel.Warn,
  adapter: new SentryAdapter({
    formatStrategy: new SentryFormatStrategy(),
  }),
});

// attach new adapter
logger.addLogAdapter(
  new SentryAdapter({
    formatStrategy: new SentryFormatStrategy(),
  })
);

logger.debug('print multi messages', 'demo');
```

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