@serverless-devs/logger
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

日志(@serverless-devs/logger)

安装

$ npm install @serverless-devs/logger --save

使用方式

import Logger from '@serverless-devs/logger';

/**
 * const { key1, key2, __clear, __progressFooter } = loggers;
 * 其中 key1 和 key2 是根据入参 keys 返回,使用方式如下。
 * __clear 是清理动态效果的作用,需要在退出程序之前调用
 * __progressFooter 是管理动态效果的,基于 cli-progress-footer 实现
 */
const loggers = new Logger({
  traceId: 'uuid',
  logDir: 'logFilePath',
  secrets: ['需加密字符'],
  instanceKeys: ['key1', 'key2'], // 日志实例的关键字, 传入会根据关键字生成实例。选填
});

// egg-logger
loggers.key1.info('info');
loggers.key1.warn('warn');
loggers.key1.debug('debug');
loggers.key1.error('error');
// @serverless-devs/logger 自定义的包
loggers.key1.append('append', 'INFO'); // 用于流持续输出,不受 eol 限制输出。例如:mvn命令在linux下通过文件流有换行异常可以使用此方法持续输出内容
loggers.key1.progress('update progress footer bar'); // 修改底部的动态效果文案

// 清除日志实例
loggers.unset('key1');
// loggers.key1.debug('debug'); // error: 因为

// 动态新增加密密钥
loggers.__setSecret(['key1', 'key2']);

// 新增日志实例
const logKey3 = loggers.__generate('key3');
loggers.key1.debug('debug key3');
logKey3.info('info key3');

loggers.__clear();

参数解析

import Logger from '@serverless-devs/logger';
const loggers = new Logger(options);

Options

参数 说明 类型 必填 默认值
traceId 程序运行关键字 string -
logDir 日志输出目录 string -
level 终端日志输出级别 ALLDEBUGINFOWARNERRORNONE 终端输出默认为:INFO;输出到文件默认为:DEBUG
secrets 需加密字符 string[] -
eol 自定义文件结尾 string os.EOL
instanceKeys 日志实例的关键字, 传入会根据关键字生成实例 string[] -

控制输出级别

可以通过环境变量 NODE_CONSOLE_LOGGRE_LEVEL=ALLDEBUGINFOWARNERRORNONE 控制输出级别,权重大于 options.level

Readme

Keywords

none

Package Sidebar

Install

npm i @serverless-devs/logger

Weekly Downloads

154

Version

0.0.4

License

MIT

Unpacked Size

49.1 kB

Total Files

33

Last publish

Collaborators

  • serverlessfans
  • heimanba
  • xsahxl