strogger
Version:
📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations
96 lines • 3.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.demonstrateNewRelicTransport = exports.demonstrateElasticsearchTransport = exports.demonstrateSplunkTransport = exports.demonstrateDataDogTransport = void 0;
const index_1 = require("../index");
// import type { LogEntry } from "../index"; // Removed unused import
// Example 1: DataDog Transport
const demonstrateDataDogTransport = () => {
const env = (0, index_1.getEnvironment)();
const formatter = (0, index_1.createJsonFormatter)();
const logger = (0, index_1.createLogger)({
config: { serviceName: "datadog-example", stage: env.stage },
transports: [
(0, index_1.createConsoleTransport)({ formatter, level: index_1.LogLevel.INFO }),
(0, index_1.createDataDogTransport)({
level: index_1.LogLevel.INFO,
serviceName: "datadog-example",
tags: ["env:dev", "team:backend"],
}),
],
formatter,
env,
});
logger.info("DataDog transport example log");
return logger;
};
exports.demonstrateDataDogTransport = demonstrateDataDogTransport;
// Example 2: Splunk Transport
const demonstrateSplunkTransport = () => {
const env = (0, index_1.getEnvironment)();
const formatter = (0, index_1.createJsonFormatter)();
const logger = (0, index_1.createLogger)({
config: { serviceName: "splunk-example", stage: env.stage },
transports: [
(0, index_1.createConsoleTransport)({ formatter, level: index_1.LogLevel.INFO }),
(0, index_1.createSplunkTransport)({
level: index_1.LogLevel.ERROR,
source: "splunk-example",
sourcetype: "_json",
}),
],
formatter,
env,
});
logger.error("Splunk transport example log");
return logger;
};
exports.demonstrateSplunkTransport = demonstrateSplunkTransport;
// Example 3: Elasticsearch Transport
const demonstrateElasticsearchTransport = () => {
const env = (0, index_1.getEnvironment)();
const formatter = (0, index_1.createJsonFormatter)();
const logger = (0, index_1.createLogger)({
config: { serviceName: "elasticsearch-example", stage: env.stage },
transports: [
(0, index_1.createConsoleTransport)({ formatter, level: index_1.LogLevel.INFO }),
(0, index_1.createElasticsearchTransport)({
level: index_1.LogLevel.INFO,
index: "application-logs",
indexPattern: "logs-{YYYY.MM.DD}",
}),
],
formatter,
env,
});
logger.info("Elasticsearch transport example log");
return logger;
};
exports.demonstrateElasticsearchTransport = demonstrateElasticsearchTransport;
// Example 4: New Relic Transport
const demonstrateNewRelicTransport = () => {
const env = (0, index_1.getEnvironment)();
const formatter = (0, index_1.createJsonFormatter)();
const logger = (0, index_1.createLogger)({
config: { serviceName: "newrelic-example", stage: env.stage },
transports: [
(0, index_1.createConsoleTransport)({ formatter, level: index_1.LogLevel.INFO }),
(0, index_1.createNewRelicTransport)({
level: index_1.LogLevel.INFO,
serviceName: "newrelic-example",
}),
],
formatter,
env,
});
logger.info("New Relic transport example log");
return logger;
};
exports.demonstrateNewRelicTransport = demonstrateNewRelicTransport;
// Only run examples if this file is executed directly
if (require.main === module) {
(0, exports.demonstrateDataDogTransport)();
(0, exports.demonstrateSplunkTransport)();
(0, exports.demonstrateElasticsearchTransport)();
(0, exports.demonstrateNewRelicTransport)();
}
//# sourceMappingURL=third-party-integrations.js.map