# @blackglory/logger-js

> ```sh npm install --save @blackglory/logger-js # or yarn add @blackglory/logger-js ```

Latest version **0.14.3** (published 2026-05-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @blackglory/logger-js
pnpm add @blackglory/logger-js
yarn add @blackglory/logger-js
bun add @blackglory/logger-js
```

## Health

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

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

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.14.3 |
| Published | 2026-05-24 |
| First published | 2020-12-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 10 |
| Unpacked size | 31.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | BlackGlory |
| Maintainers | black_glory |

## Links

- npm: https://www.npmjs.com/package/@blackglory/logger-js
- Repository: https://github.com/BlackGlory/logger-js
- Homepage: https://github.com/BlackGlory/logger-js#readme
- Issues: https://github.com/BlackGlory/logger-js/issues
- npm.io page: https://npm.io/package/@blackglory/logger-js

## Dependencies (10)

- [justypes](https://npm.io/package/justypes.md) ^4.5.0
- [extra-sse](https://npm.io/package/extra-sse.md) ^0.5.0
- [extra-abort](https://npm.io/package/extra-abort.md) ^0.5.1
- [extra-fetch](https://npm.io/package/extra-fetch.md) ^5.2.0
- [extra-timers](https://npm.io/package/extra-timers.md) ^0.3.1
- [extra-request](https://npm.io/package/extra-request.md) ^11.2.0
- [extra-response](https://npm.io/package/extra-response.md) ^0.6.1
- [@blackglory/errors](https://npm.io/package/@blackglory/errors.md) ^3.1.0
- [@blackglory/prelude](https://npm.io/package/@blackglory/prelude.md) ^0.4.0
- [@blackglory/http-status](https://npm.io/package/@blackglory/http-status.md) ^2.0.4

## Recent versions

- 0.14.3 (latest) — 2026-05-24
- 0.14.2 — 2026-04-20
- 0.14.1 — 2025-06-17
- 0.14.0 — 2025-06-17
- 0.13.4 — 2025-06-12
- 0.13.3 — 2025-05-25
- 0.13.2 — 2023-12-17
- 0.13.1 — 2023-12-17
- 0.13.0 — 2023-08-04
- 0.12.1 — 2023-06-11
- 0.12.0 — 2023-04-06
- 0.11.0 — 2023-03-29
- 0.10.2 — 2023-03-29
- 0.10.1 — 2023-03-28
- 0.10.0 — 2023-03-17
- … 63 more at https://npm.io/package/@blackglory/logger-js/versions

## README

# logger-js
## Install
```sh
npm install --save @blackglory/logger-js
# or
yarn add @blackglory/logger-js
```

## API
### LoggerClient
```ts
interface ILoggerClientOptions {
  server: string
  basicAuth?: {
    username: string
    password: string
  }
  keepalive?: boolean
  heartbeat?: IHeartbeatOptions
  timeout?: number
}

interface ILoggerClientRequestOptions {
  signal?: AbortSignal
  keepalive?: boolean
  timeout?: number | false
}

export interface ILoggerClientFollowOptions extends ILoggerClientRequestOptions {
  since?: LogId
  heartbeat?: IHeartbeatOptions
}

interface IHeartbeatOptions {
  timeout: number
}

interface ILoggerConfig extends JSONObject {
  timeToLive: number | null
  limit: number | null
}

type LogId = `${number}-${number}`

interface IRange {
  order: Order
  from?: LogId
  to?: LogId
  skip?: number
  limit?: number
}

enum Order {
  Asc = 'asc'
, Desc = 'desc'
}

interface ILog {
  id: LogId
  value: JSONValue
}

class LoggerNotFound extends CustomError {}

class LoggerClient {
  constructor(options: ILoggerClientOptions)

  getAllLoggerIds(options?: ILoggerClientRequestOptions): Promise<string[]>

  setLogger(
    loggerId: string
  , config: ILoggerConfig
  , options?: ILoggerClientRequestOptions
  ): Promise<void>

  getLogger(
    loggerId: string
  , options?: ILoggerClientRequestOptions
  ): Promise<ILoggerConfig | null>

  removeLogger(
    loggerId: string
  , options?: ILoggerClientRequestOptions
  ): Promise<void>

  log(
    loggerId: string
  , value: JSONValue
  , options?: ILoggerClientRequestOptions
  ): Promise<void>

  /**
   * @throws {LoggerNotFound}
   */
  follow(
    loggerId: string
  , options?: ILoggerClientFollowOptions
  ): AsyncIterableIterator<ILog>

  /**
   * @throws {LoggerNotFound}
   */
  getLogs(
    loggerId: string
  , logIds: LogId[]
  , options?: ILoggerClientRequestOptions
  ): Promise<Array<JSONValue | null>>

  removeLogs(
    loggerId: string
  , logIds: LogId[]
  , options?: ILoggerClientRequestOptions
  ): Promise<void>

  /**
   * @throws {LoggerNotFound}
   */
  queryLogs(
    loggerId: string
  , range: IRange
  , options?: ILoggerClientRequestOptions
  ): Promise<ILog[]>

  clearLogs(
    loggerId: string
  , range: IRange
  , options?: ILoggerClientRequestOptions
  ): Promise<void>
}

class LoggerNotFound extends CustomError {}
```

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