/toger

a tiny logger for node.

Primary LanguageTypeScriptMIT LicenseMIT

toger

一个小巧精致的 nodejs 日志模块

Travis Coverage Status David npm (scoped) node (scoped) GitHub license

安装

$ yarn add toger # 推荐
# 或者
$ npm i -S toger

使用

import toger from 'toger';
// 或者
// const { toger } = require('toger');

const logger = toger();

logger.trace('你好!'); // [2018-06-01 10:00:00] TRACE 你好!
logger.debug('你好!'); // [2018-06-01 10:00:00] DEBUG 你好!
logger.info('你好!');  // [2018-06-01 10:00:00] INFO 你好!
logger.warn('你好!');  // [2018-06-01 10:00:00] WARN 你好!
logger.error('你好!'); // [2018-06-01 10:00:00] ERROR 你好!
logger.fatal('你好!'); // [2018-06-01 10:00:00] FATAL 你好!

这是默认日志级别。
输入的时候会有智能提示哦。

设置日志级别

import toger from 'toger';

const logger = toger({
  level: 'warn',
});

logger.trace('你好!');
logger.debug('你好!');
logger.info('你好!');
logger.warn('你好!');
logger.error('你好!');
logger.fatal('你好!');

这样只会输出 warn, error, fatal 三个级别的日志。

自定义日志级别

import toger from 'toger';

const logger = toger({
  levels: ['http', 'api', 'mysql', 'redis'],
});

logger.http('http 日志');
logger.api('api 日志');
logger.mysql('mysql 日志');
logger.redis('redis 日志');

这样的日志是不是很方便呢。

输出到文件

import toger from 'toger';

const logger = toger({
  stream: true,
});

logger.trace('你好!');
logger.debug('你好!');
logger.info('你好!');
logger.warn('你好!');
logger.error('你好!');
logger.fatal('你好!');

默认输出到当前目录的 logs 目录下,如果 logs 目录不存在则报错。

const logger = toger({
  stream: {
    dir: 'logs', // 日志目录
    filename: '{level}.log', // 输出的文件名
    cache: 1000, // 开启缓存,每 1s 写入一次。
  },
});

这是 stream 参数默认配置。

const { toger } = require('toger');

const logger = toger({
  levels: ['http', 'api', 'mysql', 'redis'],
  stream: ,
});

logger.http('http 日志');
logger.api('api 日志');
logger.mysql('mysql 日志');
logger.redis('redis 日志');

当然也可以结合 levels 输出到文件。

API

toger(options)

options

参数 类型 可选 默认值 描述
level string 'all' 输出级别,all全部输出,off关闭日志
levels string[] ['trace', 'debug', 'info', 'warn', 'error', 'fatal'] 日志级别
json boolean false 输出JSON格式
stamp boolean false 日期输出为时间戳
stream boolean/object null 输出到文件,设为 true 使用默认配置

options.stream

参数 类型 可选 默认值 描述
dir string 'logs' 日志目录
filename string '{level}.log' 文件名
cache number 1000 缓存刷新时间 0是关闭
mode number 0o666 linux 文件模式
error function function(){} 文件错误回调事件

License

MIT