New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

ylog

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ylog

Why another logger? That's a good question!

latest
Source
npmnpm
Version
0.2.2
Version published
Weekly downloads
11
-26.67%
Maintainers
1
Weekly downloads
 
Created
Source

ylog

NPM version Build Status Dependency Status Code Climate Coverage Status

Why another logger? That's a good question!

Example:

styles

ylog 的特点:

  • 支持 npmlog 的 level 级别
  • 支持 debug 的多模块控制
  • 支持 自定义 grunt log 的丰富样式
  • 支持 指定每行的输出宽度 (wrap)
  • 支持 简单的类似于 markdown 的语法
  • 支持 显示执行时间
  • 支持 显示进程 ID
  • 支持 事件监听
  • 支持 进度条 输出 (使用了 gaugeare-we-there-yet )

Usage

使用 levels

styles

设置 level 显示级别

ylog.setLevel(levels, mode)

levels 可以是单个 level,也可以是一个 level 数组 mode 可以是 'only''weight'

  • only mode: 表示只输出 levels 中指定的级别,其它级别不输出

  • weight mode: 表示只输出权重__大于等于__所有指定 levels 中的最低权重的级别(默认是此值)

自定义新的 level,或修改现有 level

ylog.levelFlag(name, weight, tag)


// 修改
c.levelFlag('ok', 5000, 'ok');

// 添加
c.levelFlag('ok2', 5500, chalk.bold.green('✓'));

使用 namespace

很简单,像使用 debug 一样,只是环境变量名从 DEBUG 变成了 YLOG

styles

使用丰富的样式

styles

自定义你自己的样式

ylog.styleFlag(name, fn)

name: 是样式名称

fn: 的参数是你执行是填的参数,fn 需要返回一个字符串


// 定义一个简单的换行样式(默认有个 ln,它输出的换行是在左边)

ylog.styleFlag('rightLn', function(str) {
  return (str || '') + '\n';
})

// 现在你就可以这样用

ylog.rightLn('are you ok');

使用类 markdown 语法

styles

配置(或者叫 attributes)

styles

局部配置

有两种方式:

  • ylog.attr({md: true, time: false, wrap: 80}).log('...')
  • ylog.md.no.time.wrap(80).log('...');

全局配置

你可以使用 ylog.attributes 对像,直接修改属性的默认值,它会影响全局的配置

显示执行时间

只要打开全局配置 time 来即可

ylog.attributes.time = true;

显示进程 ID

配置 ylog.Tag 属性

ylog.Tag.pid.show = true;

事件监听


var logger = ylog('myNamespace');

logger.on('myNamespace.ok', function() {

});

logger.ok('ok');      // => 会触发上面的监听
logger.info('info');  // => 不会触发上面的监听


使用进度条

var ylog = require('ylog');
var fs = require('fs');

var p = ylog.progress('progress', {theme: 'ascii'});

var basicJob = p.addJob('job 1', 1000, 2);
basicJob.complete(10);

//basicJob progress
var sid = setInterval(function() {
  basicJob.complete(100);
}, 500);

// streamJob progress
fs.stat(__filename, function(err, stats) {
  if (err) { throw err; }

  var streamJob = p.addJob('job 2', stats.size, true);

  setTimeout(function() {
    fs.createReadStream(__filename).pipe(streamJob).on('data', function() {
      // do your thing
    });
  }, 200)

});


p.on('finished', function(name) {
  p.hide();
  console.log('finished ' + name);
  clearInterval(sid);
});

History

CHANGELOG

License

Copyright (c) 2015 Zhonglei Qiu. Licensed under the MIT license.

Keywords

ylog

FAQs

Package last updated on 24 Jun 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts