@gaoding/hlg-logger
v1.1.1
Published
A Logger client based on debug, mini-logger and logcenter
Downloads
8
Keywords
Readme
Node.js Logger Client
安装
npm install @gaoding/hlg-logger
基本用法
const debug = require('debug');
const APP_NAME = process.env.APP_NAME;
const logger = require('@gaoding/hlg-logger').create({
logServer: process.env.LOG_SERVER,
app: APP_NAME
});
// log something
logger.info('message', metaData, type, module);
logger.warn('message', metaData, type, module);
logger.debug('message', metaData, type, module);
logger.error('message', metaData, type, module);
//metric
logger.metric(targets, labels, type, name);
继承
const subLogger = logger.extend(extendsData, extConfig);
当有以下或更多需求时:
- 项目比较复杂
- 有多场景的需求
- 需要链路追踪的时候
可能会希望产生不同的日志,但日志有一些公共的配置是固定的,可以通过继承的方式创建对应的 subLogger。
可以通过已有的 logger,创建新的 subLogger, subLogger 会继承 logger 的所有配置,新的配置会覆盖 logger 原有的配置。
const const logger = require('@gaoding/hlg-logger').create({
logServer: process.env.LOG_SERVER,
app: APP_NAME
});
// extend logger
const subLogger = logger.extend({
traceId: 'xxx',
}, {
app: SUB_APP_NAME,
level: LEVEL,
});
subLogger.info('message', metaData, type, module);
subLogger.warn('message', metaData, type, module);
subLogger.debug('message', metaData, type, module);
subLogger.error('message', metaData, type, module);
配置
const logger = require('@gaoding/hlg-logger').create({
// server logger 目前只支持 UDP,支持 `url schema`,默认 `null`
logServer: null,
// local logger 打印日志到本地,默认 `null`,默认文件名 `{info|error}.YYYY-MM-DD.log`
logDir: null,
// 是否输出到标准输出,默认 `true`
logStdio: true,
// 是否开启花费时间记录,如果开启扩展数据内会增加 `elapsed`, `last_elapsed` 两个字段,默认 `false`
logElapsed: false,
// 本地主机名,默认取 `os.hostname()`
host: '',
// 应用名,默认 `app`
app: 'app',
// 模块名,默认空,可以在方法内指定
module: '',
// 类型,默认空,可以在方法内指定
type: '',
// 附加数据,默认 `null`
metaData: null,
// 日志输出级别, 默认 `ALL`
level: 'ALL'
});
API
- logger.info
- logger.error
待完善