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

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

🌲
https://github.com/blackglory/extra-logger

browser esm library nodejs npm-package typescript

Last synced: 3 months ago
JSON representation

🌲

Awesome Lists containing this project

README

          

# extra-logger
## Install
```sh
npm install --save extra-logger
# or
yarn add extra-logger
```

## API
```ts
enum Level {
Trace
, Debug
, Info
, Warn
, Error
, Fatal
, None
}

interface ITransport {
send(message: IMessage): void
}

interface IMessage {
level: Level
timestamp: number
message: string
namespace?: string
elapsedTime?: number
}
```

### Logger
```ts
interface ILoggerOptions {
level: Level
transport: ITransport
namespace?: string
}

class Logger {
constructor(options: ILoggerOptions)

trace(message: string | Getter, elapsedTime?: number): void
traceAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

info(message: string | Getter, elapsedTime?: number): void
infoAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

debug(message: string | Getter, elapsedTime?: number): void
debugAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

warn(message: string | Getter, elapsedTime?: number): void
warnAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

error(message: string | Getter, elapsedTime?: number): void
errorAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

fatal(message: string | Getter, elapsedTime?: number): void
fatalAsync(
message: Awaitable | Getter>
, elapsedTime?: number
): Promise

traceTime(
message: string | Getter
, expression: () => T
): T
traceTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

infoTime(
message: string | Getter
, expression: () => T
): T
infoTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

debugTime(
message: string | Getter
, expression: () => T
): T
debugTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

warnTime(
message: string | Getter
, expression: () => T
): T
warnTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

errorTime(
message: string | Getter
, expression: () => T
): T
errorTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

fatalTime(
message: string | Getter
, expression: () => T
): T
fatalTimeAsync(
message: Awaitable | Getter>
, expression: () => Awaitable
): Promise

traceTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
traceTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise

infoTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
infoTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise

debugTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
debugTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise

warnTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
warnTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise

errorTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
errorTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise

fatalTimeFunction(
message: string | Getter
, fn: (...args: Args) => Result
): (...args: Args) => Result
fatalTimeAsyncFunction(
message: Awaitable | Getter>
, fn: (...args: Args) => Awaitable
): (...args: Args) => Promise
}
```

### TerminalTransport
```ts
interface ITerminalTransportOptions {
logMinimumDuration?: number
}

class TerminalTransport implements ITransport {
constructor(options?: ITerminalTransportOptions)
}
```

### stringToLevel
```ts
function stringToLevel(text: string, fallback: Level = Level.None): Level
```