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

0.1.2 • Public • Published

Node.js Logger Client

安装

npm install @gaoding/node-logger

基本用法

const debug = require('debug');

const APP_NAME = process.env.APP_NAME;

const logger = require('@gaoding/node-logger').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

待完善

Readme

Keywords

none

Package Sidebar

Install

npm i @gaoding/node-logger

Weekly Downloads

1

Version

0.1.2

License

UNLICENSED

Unpacked Size

24.1 kB

Total Files

10

Last publish

Collaborators

  • zongzi89
  • kylee0325
  • gaoding-bot
  • jimco
  • sharkseven
  • facai
  • laoshu133
  • kinglisky
  • aui
  • noahlam
  • mljsgto222
  • xuezi
  • mutou
  • moocher
  • zengtiansheng