log-pose
Helps you to not get lost
Last updated 2 months ago by pateketrueke .
MIT · Original npm · Tarball · package.json
$ cnpm install log-pose 
SYNC missed versions from official npm registry.

LogPose

NPM version travis-ci codecov

Helps you to not get lost.

$ npm i log-pose --save
# or `yarn add log-pose`

API

Import the module and retrieve a shared logger instance.

import LogPose from 'log-pose';

// define logging level
LogPose.setLevel('verbose');

// get shared logger instance
const log = LogPose.getLogger();

// calling `newLogger()` returns a single method
const fail = LogPose.newLogger('my-app', 'verbose');
  • pause() — Pause the logging output
  • resume() — Resume the logging output
  • setLevel(type: String|Boolean) — Set a logging level to disable/enable verbs; if false is given logging gets disabled
  • setLogger([stdout: Object]) — Set the standard-output for logging; if any falsy value is given, then the entire logging is disabled. Given stdout is used to output log messages
  • getLogger([depth: Number[, stdout: Object]]) — Returns a shared logger instance; depth is used on status formatting
  • newLogger(prefix: String[, level: String|Number[, depth: Number, stdout: Object]]) — Returns a single logging method; actually, the shared logger is built from those methods. Methods are prefixed and receive a base level and depth; their output is skipped if given level is above the currently defined

Log levels are info, debug and verbose.

Logger

It's a function that can print statuses:

// single status
log('testing');

// prefixed status
log('kind', 'value');

// async status
async function main() {
  // single task delayed
  await log('long task', () => new Promise(resolve => setTimeout(resolve, 1000)));

  // prefixed task delayed
  await log('kind', 'value', () => new Promise(resolve => setTimeout(resolve, 1000)));

  // prefixed task delayed, with callback
  await log('write', 'filepath', done => setTimeout(() => {
    // custom feedback on logs
    done('filepath', 'failed', 'fail');
  }, 1000));
}

main();

Also, it have some methods:

  • printf(...) — Prints always, with formatting enabled
  • write(...) — Prints always, without formatting
  • info(...) — Prints if level is > 0
  • debug(...) — Prints if level is >= 1
  • verbose(...) — Prints if level is >= 2
  • isInfo() — Returns true if level is > 0
  • isDebug() — Returns true if level is >= 1
  • isVerbose() — Returns true if level is >= 2
  • isEnabled() — Returns true if level is > 0

Formatting works calling built-in util.format() on printing, e.g.

log.info('{%info.bgBlue.white Text with spaces and values: %s%}\n', 42);

Available symbols are:

  • tick → ✔
  • cross → ✖
  • star → ★
  • line → ─
  • info → ➲
  • reload → ↺
  • pointer → ›
  • warning → ⚠

Built-in types are:

  • exceptionline.bgRed.bold
  • featuredstar.bgBlue.bold
  • failurewarning.bgRed.white
  • successline.green
  • errorline.red
  • tipstar.yellow
  • linkline.cyan
  • itemline.gray
  • warnwarning.bold
  • infoinfo.blue
  • failcross.red
  • waitreload.gray
  • endtick.cyan
  • logpointer.gray
  • oktick.green

Using these you can short your code:

log.info('{%ok Text with spaces and values: %s%}\n', 42);

Color names are defined by Chalk.

Current Tags

  • 0.3.7                                ...           latest (2 months ago)

14 Versions

  • 0.3.7                                ...           2 months ago
  • 0.3.6                                ...           2 months ago
  • 0.3.5                                ...           a year ago
  • 0.3.4                                ...           2 years ago
  • 0.3.3                                ...           3 years ago
  • 0.3.2                                ...           3 years ago
  • 0.3.1                                ...           3 years ago
  • 0.3.0                                ...           3 years ago
  • 0.2.5                                ...           3 years ago
  • 0.2.4                                ...           3 years ago
  • 0.2.3                                ...           3 years ago
  • 0.2.2                                ...           3 years ago
  • 0.2.1                                ...           3 years ago
  • 0.1.1                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 83
Dependencies (3)
Dev Dependencies (10)

Copyright 2014 - 2016 © taobao.org |