Socket
Book a DemoInstallSign in
Socket

consigliere

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

consigliere

🍝 A simple to use JSON logger

latest
Source
npmnpm
Version
1.2.0
Version published
Maintainers
1
Created
Source

consigliere

🍝 A simple-to-use JSON logger

β€’ Quick to start β€’ Intuitive interface β€’ Rich with customisation.

Quick use logger

Zero configuration logger out-of-the box use

import { logger } from "consigliere";

logger.debug("Something just happened", { detail: "Something" });
// {"message":"Something just happened","detail":"Something","level":"debug"}

logger.error(new Error("Something must have gone horribly wrong"));
// {"message":"Something must have gone horribly wrong","stack":"Error: Something must have gone horribly wrong\n    at…","name":"Error","level":"error"}

Create new Logger instances

import { Logger } from "consigliere";

const logger = new Logger();

Change minimal log level

Silence anything below a certain log level

import { Logger } from "consigliere";

const logger = new Logger({ level: "warn" });
logger.info("I have a message to relay"); // nothing happens

logger.warn("Something worrying happened"); // logs record

Use your own set of log levels

import { Logger } from "consigliere";

const logger = new Logger({
  levels: ["low", "medium", "high"],
  level: "medium",
});
logger.low("I have something to show you"); // Does not log record
logger.medium("I have a message to relay"); // Logs record
logger.warn("Something worrying happened"); // Logs record

Define alternative logging devices

import { Logger } from "consigliere";

const logger = new Logger({
  device: (json: string): boolean => navigator.sendBeacon("/log", json),
});

Customise output with "parser"

import { Logger, NORMALISE_VALUES, NORMALISE, RAW } from "consigliere";

// JSON string
const logger = new Logger();
const logger = new Logger({ parser: NORMALISE });

// Output the raw object
const logger = new Logger({ parser: false });
const logger = new Logger({ parser: RAW });

// Stringify values of the record object
const logger = new Logger({ parser: NORMALISE_VALUES });

// Parse the record yourself
const logger = new Logger({
  parser: function ({ application, ...record }) {
    return JSON.stringify({
      application,
      level: this.level,
      records: [record],
    });
  },
});

Add constant fields to each record of the logger

const logger = new Logger({
  fields: {
    application: "my-app",
    version: "0.0.1",
  },
});

Add dynamic fields to each record of the logger

const start = Date.now();
const logger = new Logger({
  dynamicFields: {
    duration: () => Date.now() - start,
  },
});

Keywords

logger

FAQs

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