Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

fastify-logger

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastify-logger

fastify 框架的logger

latest
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

fastify-logger

Install

bnpm install fastify-logger --save

Usage

// 
let logOpt = {
  console: process.env.NODE_ENV !== 'production', // 是否开启console.log 。。。
  level: 'debug',
  streams: [], // fastify-logger/lib/LogStream.js 的子类
  format: function(data) {}, // 自定义format
  genReqId: (function(){ // 请求id生成器
    var maxInt = 2147483647
    var nextReqId = 0
    return function(req) {  
      return nextReqId = (nextReqId + 1) & maxInt
    }
  })(),
  serializers: { // 需要的额外数据
    req: function(req) {
      return {
        method: req.xxx
      }
    }
  },
  file: path.join(process.cwd(), 'logs/fastify.log'), // 文件路径  
  maxBufferLength: 4096, // 日志写入缓存队列最大长度
  flushInterval: 1000, // flush间隔
  logrotator: { // 分割配置
    byHour: true,
    byDay: false,    
    hourDelimiter: '_'
  }
}

// 其实只需要配置一下 file字段, 因为线上环境,路径不同,不配置的话使用默认路径
logOpt = {
  file: '/path/to/log/lalala.log'
}

const {opt, hook} = require('fastify-logger')(logOpt);
const fastify = require('fastify')({
  logger: opt
})
hook(fastify);

// Declare a route
fastify.get('/', function(request, reply) {
  request.log.info('123412342234', 'wwwwwwwwwwwww', { as: 23 })
  reply.send({ hello: 'world' })
})
// Run the server!
fastify.listen(3000, '0.0.0.0', function(err) {
  if (err) throw err
  console.log(
    `server listening on http://${fastify.server.address().address}:${
      fastify.server.address().port
    }`
  )
})

扩展stream

customSteam.js

const LogStream = require('fastify-logger/lib/LogStream')

class CustomStream extends LogStream {
  constructor(options) {
    super(options)
    // ...自己的逻辑代码
  }
  // 复写log方法
  log(data) {
    // 想怎么写就怎么写
  }
}

FAQs

Package last updated on 28 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts