Socket
Book a DemoInstallSign in
Socket

@hatsy/log-z-request

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hatsy/log-z-request

Hatsy router

Source
npmnpm
Version
2.0.2
Version published
Weekly downloads
10
233.33%
Maintainers
1
Weekly downloads
 
Created
Source

Log That Request

NPM Build Status codecov GitHub Project API Documentation

Request logging by @run-z/log-z logger.

Contains a ZLogging capability that provides a request logger means containing ZLogger instance for handlers.

The log messages are actually written to the log under certain conditions. E.g. when request processing error occurred, error logged, or immediate logging triggered explicitly. Once immediate logging triggered, all log messages for the log are recorded to the log, as well as all messages logged after that.

To trigger immediate logging add immediate property with truthy value to log message details like this:

context.log.info('Immediate message', zlogDetails({ immediate: true }));

Example Setup

import { httpListener } from '@hatsy/hatsy';
import { ZLogging } from '@hatsy/log-z-request';
import { Rendering } from '@hatsy/router';
import { logZAtopOf, logZTimestamp, logZWithDetails, zlogDetails } from '@run-z/log-z';
import { logZToStream } from '@run-z/log-z/node';
import { createServer } from 'http';

const server = createServer(httpListener(
    {

      handleBy(handler) {
        // Set up logging before request processing.
        return ZLogging.with({

          by: logZTimestamp(                // Log timestamp.
              logZToStream(process.stdout), // Log to standard output.
          ),

          forRequest(logger, { request: { method, url } }) {
            return logZWithDetails(
                {
                  method,                   // Add request method to log message details.
                  url,                      // Add request URL to log message details. 
                },
                logZAtopOf(logger),         // Create child logger per request.
            );
          },

        }).for(handler);
      },

    },
    Rendering.for(({ log, renderJson }) => {
      // Log immeditely instead of when error occurrred.
      log.info('Hello!', zlogDetails({ immediate: true }));
      renderJson({ hello: 'World!' });      
    }),
));

FAQs

Package last updated on 26 Nov 2020

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