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

fwsp-logger

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fwsp-logger

Provides logging via pino, and transport to elasticsearch

  • 0.1.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
27
decreased by-48.08%
Maintainers
1
Weekly downloads
 
Created
Source

Logger npm version

Synopsis

Provides a pino logger that ships its logs to Elasticsearch via pino-elasticsearch.

First, run npm install -g pino-elasticsearch

Use HydraExpressLogger plugin for Hydra Express apps:

const HydraExpressLogger = require('fwsp-logger').HydraExpressLogger;
hydraExpress.use(new HydraExpressLogger());
hydraExpress.init(...);

with corresponding entry in config.json hydra.plugins:

"hydra": {
  "plugins": {
    "logger": {
      "serviceName": "optional - will default to hydra.serviceName",
      "logPath": "optional - will default to service/servicename.log",
      "toConsole": false, // don't log to console
      "noFile": true, // don't log to disk
      "logRequests": true, // log all requests in development env
      "redact": ["password"], // fields to redact when logging req.body
      "elasticsearch": {
        "host": "localhost",
        "port": 9200,
        "index": "local-dev"
      }
    }
  }
}
,

Or, use HydraLogger plugin for Hydra services:

const HydraLogger = require('fwsp-logger').HydraLogger;
hydra.use(new HydraLogger());
hydra.init(...);

General usage:

const PinoLogger = require('fwsp-logger').PinoLogger,
      logger = new PinoLogger(
        {
          serviceName: 'my-service',       // required - name of the app writing logs
          logPath: '/custom/log-file.log', // optional, defaults to ${cwd()}/serviceName.log
          toConsole: true,                 // defaults to false
          elasticsearch: {
            host: 'your.elasticsearch.host.com',
            port: 9200,
            index: 'local-dev'
          }
        }
    );
const appLogger = logger.getLogger();
appLogger.error('An error happened');
appLogger.info({
    message: 'Something else happened',
    details: {
      foo: 'bar',
      answer: 42
    }
});

Testing

To make sure logs are getting shipped to Elasticsearch, you can spin up docker containers with ES and Kibana using the docker-compose.yml file in this repository.

You will need docker and docker-compose installed, then in this project folder, launch docker-compose up.

You'll need to set up an Elasticsearch index in Kibana before you'll be able to view logs, which should be the value of logger.elasticsearch.index ('local-dev' in above examples), or 'pino' by default.

If you don't have any index patterns set up, Kibana won't let you proceed without adding one. Otherwise, to add additional indices, go to Settings -> Indices.

License

Licensed under MIT.

Keywords

FAQs

Package last updated on 09 Mar 2017

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