Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@vrbo/pino-rotating-file

Package Overview
Dependencies
Maintainers
6
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vrbo/pino-rotating-file

A hapi-pino log transport for splitting logs into separate, automatically rotating files.

  • 1.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.8K
decreased by-13.9%
Maintainers
6
Weekly downloads
 
Created
Source

@vrbo/pino-rotating-file

NPM Version Build Status Dependency Status NPM Downloads

Introduction

A pino transport for filtering log entries and writing them to a file that automatically rotates. Log entries that are not filtered continue out of stdout.

This is useful for logging when you want different entries in different rotating files. Using rotating files allows you to roll logs across multiple files so that individual file sizes don't grow too large and old files get deleted.

At its core, this processor takes a simple config js file that contains an output path and additional options for the rotation. Under the hood, it uses the rotating-file-stream - check out the options. It also has a filter function to determine if the log entry should go to the log file, or be forwarded through to stdout.

Usage

Install this module as a dependency in your project with npm install @vrbo/pino-rotating-file

After this, you can reference it as rotate-logs in your npm scripts in your package.json file when running your main application, like this:

package.json

...
"scripts": {
  "start": "node ./index.js | rotate-logs --config=.request-log.js"
}
...

Example config file .request-log.js

module.exports = {
  filter(data) {return !!data.req},
  output: {
    path: "request.log", // name of file
    options: {
      path: "logs/", // path to write files to
      size: "10M", // max file size
      rotate: 5 // keep 5 rotated logs
    }
  }
}

If no --config flag is given, it will look for the file .rotate.js by default

Multiple log files

You can chain all these together to split your logs into separate, automatically rotating log files:

package.json

...
"scripts": {
  "start": "node ./index.js | rotate-logs --config=.request-log.js | rotate-logs --config=.error-log.js | rotate-logs --config=.server-log.js"
}
...

Where .request-log.js pulls all the logs that have req tags, .error-log.js pulls all the logs with error tags, and .server-log.js puts all the rest into another file.

NOTE: if the config provided does not exist or fails to load, then all logs will be passed to stdout.

Further Reading

Keywords

FAQs

Package last updated on 04 Jun 2019

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc