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 request logger

latest
Source
npmnpm
Version
4.0.0
Version published
Maintainers
1
Created
Source

Log That Request

NPM Build Status Code Quality Coverage 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!' });
    }),
  ),
);

Keywords

http-middleware

FAQs

Package last updated on 17 Sep 2023

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