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

@gasket/log

Package Overview
Dependencies
Maintainers
8
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gasket/log

Gasket client and server logger

  • 6.46.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
8
Created
Source

@gasket/log

Gasket client and server logger

Installation

npm i @gasket/log @gasket/plugin-log

Configuration

See the @gasket/plugin-log for more details on configuration.

Usage

Levels

Syslog levels are used by this packaged. Each level is exposed as a method on both server and client logger instances.

LevelDescription
debugInformation useful to developers for debugging.
infoNormal operational messages that require no action.
noticeEvents that are unusual, but not error conditions.
warningMay indicate that an error will occur if action is not taken.
errorError conditions
critCritical conditions
alertShould be corrected immediately
emergSystem is unusable

Server

The server requires @gasket/plugin-log to set up a logger instance on the gasket object. This will make the logger instance available for use such as:

gasket.logger.error('Critical malfunction in code execution');
gasket.logger.info('Initializing @gasket/engine `start` lifecycle event');

The server uses winston used for logging. If your app is running locally, all messages are transported to process.stdout aka the console.

Client

For client logging, new logger instances can be instantiated as need. For example, in a component:

import React from 'react';
import Log from '@gasket/log';
import someAction from './some-feature';

class YourComponent extends React.Component {
  constructor() {
    super(...arguments);
    this.logger = new Log();
  }

  doSomething = async () => {
    this.logger.debug('Starting doing something');
    try {
      const results = await someAction();
      this.logger.info(`Did the thing: ${results}`);
    } catch (e) {
      this.logger.error('Something bad happened');
    }
  }

  render() {
    return (
      <div>
        <button onClick={this.doSomething}></button>
      </div>
    )
  }
}

The constructor accepts an object with the following optional properties:

PropertyDescription
levelThe maximum logging level to enable output for. Defaults to info
levelsArray of custom logging level names.
namespaceString for namespacing your logs. See diagnostics for more information. Your namespace is automatically prefixed with gasket:
prodIf set to true enables logging even for production builds. By default production builds have no client-side logging.

NOTE: The client logger uses diagnostics to output log messages to the console. Ensure one of the trigger mechanics for diagnostics in browser is set. The name used for diagnostics is gasket*.

Test

npm test

Alternatively, you can also run the client or server tests separate.

npm run test:client
npm run test:server

License

MIT

Keywords

FAQs

Package last updated on 30 Apr 2024

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