An open API service indexing awesome lists of open source software.

https://github.com/blackglory/logger-js

🌲 The JavaScript SDK for Logger
https://github.com/blackglory/logger-js

browser esm library nodejs npm-package typescript

Last synced: 3 months ago
JSON representation

🌲 The JavaScript SDK for Logger

Awesome Lists containing this project

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

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

getLogger(
loggerId: string
, options?: ILoggerClientRequestOptions
): Promise

removeLogger(
loggerId: string
, options?: ILoggerClientRequestOptions
): Promise

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

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

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

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

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

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

class LoggerNotFound extends CustomError {}
```