@cclr/logger
v0.1.59
Published
轻量日志工具,支持分级输出、全局级别同步与日志监听
Readme
logger
轻量日志工具,支持分级输出、全局级别同步与日志监听。
Usage
npm i @cclr/loggerimport { logger } from '@cclr/logger';
logger('默认 info 输出');
logger.debug('调试信息');
logger.info('普通信息');
logger.warn('警告信息');
logger.error('错误信息');
// 设置日志级别:0 debug / 10 info / 20 warn / 30 error
logger.setLevel(0);
// 监听日志输出
const off = logger.onLog((level, ...args) => {
console.log('收到日志', level, args);
});
off(); // 取消监听日志级别
| 值 | 级别 | 说明 |
|----|------|------|
| 0 | debug | 输出全部级别 |
| 10 | info | 默认级别,不输出 debug |
| 20 | warn | 仅 warn / error |
| 30 | error | 仅 error |
级别可通过 logger.LEVEL_MAP 查看名称映射。
多版本互通
同一 JS 运行时内,若存在多份 @cclr/logger 副本,会通过 globalThis.$$__loggerLevel__ 共享日志级别:
// 任意一份 logger 设置级别
logger.setLevel(0);
// 其他副本读取到的也是 debug 级别兼容 globalThis / window / self,Node 环境降级为模块内缓存。
API 说明
logger(...args):默认以 info 级别输出。logger.debug(...args):debug 级别输出。logger.info(...args):info 级别输出。logger.warn(...args):warn 级别输出。logger.error(...args):error 级别输出。logger.setLevel(level):设置日志级别,非法值会被忽略。logger.onLog(callback):监听日志,返回取消监听函数。logger.LEVEL_MAP:级别数值与名称映射。
