UNPKG

strogger

Version:

📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations

96 lines • 3.92 kB
"use strict"; 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