0.8.0 • Published 3 months ago

extra-logger v0.8.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

extra-logger

Install

npm install --save extra-logger
# or
yarn add extra-logger

API

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

interface ILoggerOptions {
  level: Level
  transport: ITransport
  namespace?: string
}

class Logger {
  constructor(options: ILoggerOptions)

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

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

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

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

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

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

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

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

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

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

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

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

  traceTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  traceTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>

  infoTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  infoTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>

  debugTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  debugTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>

  warnTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  warnTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>

  errorTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  errorTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>

  fatalTimeFunction<Result, Args extends unknown[]>(
    message: string | Getter<string>
  , fn: (...args: Args) => Result
  ): (...args: Args) => Result
  fatalTimeAsyncFunction<Result, Args extends unknown[]>(
    message: Awaitable<string> | Getter<Awaitable<string>>
  , fn: (...args: Args) => Awaitable<Result>
  ): (...args: Args) => Promise<Result>
}

TerminalTransport

interface ITerminalTransportOptions {
  logMinimumDuration?: number
}

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

stringToLevel

function stringToLevel(text: string, fallback: Level = Level.None): Level
0.8.0

3 months ago

0.7.2

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.9

3 years ago

0.6.7

3 years ago

0.6.8

3 years ago

0.6.6

3 years ago

0.6.3

3 years ago

0.6.2

3 years ago

0.6.5

3 years ago

0.6.4

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.5

4 years ago

0.5.4

4 years ago

0.5.3

4 years ago

0.5.0

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.4.1

4 years ago

0.3.0

4 years ago

0.4.0

4 years ago

0.3.1

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago