Skip to content

Repository files navigation

tiny-console-logger Build statusNPM versionBundle size

Small and super simple console logger with log level, formatter and custom reporter support. Runs in node and the browser, written in TypeScript.

Installation

npm i tiny-console-logger

Getting started

importcreateLogger,{LogLevel}from'tiny-console-logger';constlogger=createLogger();logger.setLevel(LogLevel.INFO);logger.log('Hello');

Log levels

  • LogLevel.ERROR: allows .error calls
  • LogLevel.WARN: allows .warn calls and calls above
  • LogLevel.INFO: allows .log and .info calls and calls above
  • LogLevel.DEBUG: allows .debug calls and calls above
  • LogLevel.TRACE: allows .trace calls and calls above

Reporters

A reporter does the actual logging. The default reporter uses the global console, but it's also possible to use a custom reporter:

constarrayLog=[];logger.setReporter((args,methodName,logLevel)=>{arrayLog.push(`[${logLevel}] ${args.map(String).join(' ')}`);});

Because reporters are functions, they are easy to combine:

importcreateLogger,{defaultReporter}from'tiny-console-logger';constarrayLog=[];constlogger=createLogger();logger.setReporter((args,methodName,logLevel)=>{arrayLog.push(`[${logLevel}] ${args.map(String).join(' ')}`);defaultReporter(args,methodName,logLevel);});

Formatters

A formatter modifies arguments passed to the reporter. The default formatter just returns arguments as-is, but it's possible to use a custom formatter:

logger.setFormatter(args=>['[prefix]', ...args]);

Or:

logger.setFormatter((args,methodName,logLevel)=>[`[${logLevel}:prefix]`,
...args,`(console.${methodName})`]);

Methods

Logging methods

  • trace(...args: any[])
  • debug(...args: any[])
  • info(...args: any[])
  • log(...args: any[])
  • warn(...args: any[])
  • error(...args: any[])

setLevel(level: LogLevel)

Sets the log level.

logger.setLevel(LogLevel.ERROR)

getLevel(): LogLevel

Returns the current log level.

setFormatter(formatter: Formatter)

Sets custom formatter.

setReporter(reporter: Reporter)

Sets custom reporter.

About

Small and super simple console logger with log level, formatter and custom reporter support

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages