0.7.2 • Published 9 months ago

extra-logger v0.7.2

Weekly downloads
-
License
MIT
Repository
github
Last release
9 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(private options: ILoggerOptions)

  trace(message: string | Getter<string>, elapsedTime?: number): void
  info(message: string | Getter<string>, elapsedTime?: number): void
  debug(message: string | Getter<string>, elapsedTime?: number): void
  warn(message: string | Getter<string>, elapsedTime?: number): void
  error(message: string | Getter<string>, elapsedTime?: number): void
  fatal(message: string | Getter<string>, elapsedTime?: number): void

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

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

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

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

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

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

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

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

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

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

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

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

TerminalTransport

interface ITerminalTransportOptions {
  logMinimumDuration?: number
}

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

stringToLevel

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

9 months ago

0.7.1

11 months ago

0.7.0

1 year ago

0.6.9

2 years ago

0.6.7

2 years ago

0.6.8

2 years ago

0.6.6

2 years ago

0.6.3

2 years ago

0.6.2

2 years ago

0.6.5

2 years ago

0.6.4

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.5

3 years ago

0.5.4

3 years ago

0.5.3

3 years ago

0.5.0

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.4.1

3 years ago

0.3.0

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago