resurfaceio-logger

    2.2.1 • Public • Published

    resurfaceio-logger-nodejs

    Easily log API requests and responses to your own system of record.

    npm CodeFactor License Contributing

    Contents

    Dependencies

    Requires Node.js 10.x or later. No other dependencies to conflict with your app.

    Installing With npm

    npm install resurfaceio-logger --save
    

    Logging From Express Middleware

    After installing the module, add a HttpLoggerForExpress instance to your app, after any body parsers in use.

    const express = require('express');
    const app = express();
    
    // add body parsers
    
    const resurfaceio = require('resurfaceio-logger');
    resurfaceio.HttpLoggerForExpress.add(app, {
        url: 'http://localhost:4001/message', 
        rules: 'include debug'
    });
    
    // define routes

    Logging From Koa Middleware

    After installing the module, add a HttpLoggerForKoa instance to your app, after any body parsers in use.

    const Koa = require('koa');
    const app = new Koa();
    
    // add body parsers
    
    const resurfaceio = require('resurfaceio-logger');
    resurfaceio.HttpLoggerForKoa.add(app, {
        url: 'http://localhost:4001/message', 
        rules: 'include debug'
    });

    Logging From Apollo Server on Express

    After installing the module, add a HttpLoggerForExpress instance before calling applyMiddleware.

    const app = express();
    
    const resurfaceio = require('resurfaceio-logger');
    resurfaceio.HttpLoggerForExpress.add(app, {
        url: 'http://localhost:4001/message', 
        rules: 'include debug'
    });
    
    const server = new ApolloServer({ ... });
    
    server.applyMiddleware({ app });

    Logging From Specific Express Routes

    After installing the module, create a logger and call it from the routes of interest.

    const express = require('express');
    const app = express();
    
    const resurfaceio = require('resurfaceio-logger');
    const logger = new resurfaceio.HttpLogger({
        url: 'http://localhost:4001/message',
        rules: 'include debug'
    });
    
    app.get('/', function (request, response) {
        response.render('pages/index', function (e, html) {
            response.status(200).send(html);
            resurfaceio.HttpMessage.send(logger, request, response, html);
        });
    });

    Logging With API

    Loggers can be directly integrated into your application using our API. This requires the most effort compared with the options described above, but also offers the greatest flexibility and control.

    API documentation

    Protecting User Privacy

    Loggers always have an active set of rules that control what data is logged and how sensitive data is masked. All of the examples above apply a predefined set of rules (include debug), but logging rules are easily customized to meet the needs of any application.

    Logging rules documentation


    © 2016-2021 Resurface Labs Inc.

    Keywords

    none

    Install

    npm i resurfaceio-logger

    DownloadsWeekly Downloads

    15

    Version

    2.2.1

    License

    Apache-2.0

    Unpacked Size

    170 kB

    Total Files

    34

    Last publish

    Collaborators

    • resurfaceio