New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

unloger

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

unloger

Easy to use logger for your node.js application

latest
Source
npmnpm
Version
0.0.3
Version published
Maintainers
1
Created
Source

logo

Logger for Node.js

NPM Version NPM Downloads Minizip Contributors License

Installation

npm i unloger

Usage

Import already created instance. You can't configure it.

import { logger } from 'unloger';

logger.info('Hello World!');

Create your own instance and configure it.

import { createLogger } from 'unloger';

export const logger = createLogger(options: LoggerConfig);

See LoggerConfig for more details.

Creating your own reporter

  • There are two types of reporters:
  • Within ReporterLevels you can create a reporter for each log level. These without a reporter will use the default reporter or the reporterOverride if it is set.
import { createLogger } from 'unloger';

const logger = createLogger({
  reporter: {
    error: ({ message, type, timestamp, icon, color }, options) => {
      console.log(`[${timestamp}] ${icon} ${message}`);
    }, // This will override the default reporter for error level
  },
  reporterOverride: ({ message, type, timestamp, icon, color }, options) => {
    console.log(`[${timestamp}] ${icon} ${message}`);
  }, // Level that aren't custom configured will fallback to this reporter
});

Types

LoggerConfig

export type LoggerConfig = Partial<{
  level: number;
  files: Partial<{
    path: string; // Path to the folder where the logs will be saved
    extension: 'text' | 'json';
    fileName: string; // Name of the file
  }>;
  format: Partial<{
    colors: boolean;
    timestamp: boolean;
  }>;
  reporter: ReporterLevels;
  reporterOverride: ReporterOverride;
}>;

ReporterLevels

export type ReporterLevels = Partial<{
  [key in LogType]: (
    { message, type, timestamp, icon, color }: ReporterObject,
    options: LoggerConfig,
  ) => void;
}>;

ReporterOverride

// If this reporterOverride is set in a logger instance, it will override level that aren't custom configured
export type ReporterOverride = (
  { message, type, timestamp, icon, color }: ReporterObject,
  options: LoggerConfig,
) => void;

Use color

import { color } from 'unloger/color';

Types

declare const color:
  | {
      reset: (string: string) => string;
      bold: (string: string) => string;
      dim: (string: string) => string;
      italic: (string: string) => string;
      underline: (string: string) => string;
      inverse: (string: string) => string;
      hidden: (string: string) => string;
      strikethrough: (string: string) => string;
      black: (string: string) => string;
      red: (string: string) => string;
      green: (string: string) => string;
      yellow: (string: string) => string;
      blue: (string: string) => string;
      magenta: (string: string) => string;
      cyan: (string: string) => string;
      white: (string: string) => string;
      gray: (string: string) => string;
      bgBlack: (string: string) => string;
      bgRed: (string: string) => string;
      bgGreen: (string: string) => string;
      bgYellow: (string: string) => string;
      bgBlue: (string: string) => string;
      bgMagenta: (string: string) => string;
      bgCyan: (string: string) => string;
      bgWhite: (string: string) => string;
      blackBright: (string: string) => string;
      redBright: (string: string) => string;
      greenBright: (string: string) => string;
      yellowBright: (string: string) => string;
      blueBright: (string: string) => string;
      magentaBright: (string: string) => string;
      cyanBright: (string: string) => string;
      whiteBright: (string: string) => string;
      bgBlackBright: (string: string) => string;
      bgRedBright: (string: string) => string;
      bgGreenBright: (string: string) => string;
      bgYellowBright: (string: string) => string;
      bgBlueBright: (string: string) => string;
      bgMagentaBright: (string: string) => string;
      bgCyanBright: (string: string) => string;
      bgWhiteBright: (string: string) => string;
    }
  | {
      [x: string]: StringConstructor;
    };

export { color };

Keywords

logger

FAQs

Package last updated on 23 Jan 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