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.
npm install sumo-logger.js
- No longer worry about peer dependencies going out of date
- Send minimal logs without the bulk of always sending
timestamps
andsessionIds
- Simplified API makes sending logs a breeze
- No more worries about flushing logs, just send the logs you want to send!
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")
);
sumo-logger.js
is a pure ESM package. Please refer to this link if you are using CommonJS.
Submit issues, and PRs as you wish. Forking is not necessary.
sumo-logger.js
is released under the MIT License.