Skip to content

A maintained, zero dependency, sumo logger library for Node.js

License

Notifications You must be signed in to change notification settings

B-E-A-F/node-sumo-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sumo-logger.js

npm version npm version Twitter

sumo-logger.js is a zero dependency logging library for sumo logic. It was built as a solution to js-sumo-logger no longer being maintained efficiently.

Table of Contents

Installation

npm install sumo-logger.js

Motive

  • No longer worry about peer dependencies going out of date
  • Send minimal logs without the bulk of always sending timestamps and sessionIds
  • Simplified API makes sending logs a breeze
    • No more worries about flushing logs, just send the logs you want to send!

Usage

Setup your SumoLogger configuration:

import { SumoLogger } from "sumo-logger.js";

const sumoLogger = new SumoLogger({
  endpoint: "https://[SumoEndpoint]/receiver/v1/http/[UniqueHTTPCollectorCode]",
  sourceName: "mySourceName",
  sourceCategory: "mySourceCategory",
  hostName: "myHostName",
});

Sending a regular log:

await sumoLogger.log("myVeryAwesomeLog!");
await sumoLogger.log(JSON.stringify({ myAwesome: "log" }));

// Send multiple logs
await sumoLogger.log(["logOne", "logTwo"].join("\n"));

Sending a metric via Graphite:

import { GraphiteMessage } from "sumo-logger.js";

const graphiteMessage = new GraphiteMessage("myAwesomePath", "myValue");

await sumoLogger.log(graphiteMessage);

// Send multiple logs
await sumoLogger.log(
  [graphiteMessage.toString(), graphiteMessage.toString()].join("\n")
);

Sending a metric via Carbon 2.0:

import { CarbonTwoMessage } from "sumo-logger.js";

const carbonTwoMessage = new CarbonTwoMessage(
  "myIntrinsicTag",
  "myMetaTag",
  "myValue"
);

await sumoLogger.log(carbonTwoMessage);

// Send multiple logs
await sumoLogger.log(
  [carbonTwoMessage.toString(), carbonTwoMessage.toString()].join("\n")
);

ESM

sumo-logger.js is a pure ESM package. Please refer to this link if you are using CommonJS.

Contributing

Submit issues, and PRs as you wish. Forking is not necessary.

License

sumo-logger.js is released under the MIT License.

About

A maintained, zero dependency, sumo logger library for Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published