UNPKG

strogger

Version:

šŸ“Š A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations

85 lines • 3.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runBrandedAPIExamples = exports.demonstrateMixedUsage = exports.demonstrateAPIComparison = exports.demonstrateBrandedAPI = void 0; // Branded API Example: Demonstrates using Strogger's branded function names const index_1 = require("../index"); // Example 1: Basic Branded API Usage const demonstrateBrandedAPI = () => { const env = (0, index_1.getEnvironment)(); const formatter = (0, index_1.createJsonFormatter)(); const consoleTransport = (0, index_1.createStroggerConsoleTransport)({ formatter, level: index_1.LogLevel.DEBUG, }); const dataDogTransport = (0, index_1.createStroggerDataDogTransport)({ level: index_1.LogLevel.INFO, serviceName: "branded-api-example", tags: ["env:dev", "team:backend"], }); const strogger = (0, index_1.createStrogger)({ config: { serviceName: "branded-api-demo", stage: env.stage, }, transports: [consoleTransport, dataDogTransport], formatter, env, }); console.log("=== Branded API Usage ===\n"); strogger.info("Application started with branded API"); strogger.debug("Debug message using branded functions"); strogger.warn("Warning message with brand consistency"); strogger.error("Error message", { userId: "user-123" }); return strogger; }; exports.demonstrateBrandedAPI = demonstrateBrandedAPI; // Example 2: Branded vs Conventional Comparison const demonstrateAPIComparison = () => { console.log("\n=== Branded vs Conventional API ===\n"); console.log("Both approaches work identically:"); console.log("- createLogger() === createStrogger()"); console.log("- createConsoleTransport() === createStroggerConsoleTransport()"); console.log("- createDataDogTransport() === createStroggerDataDogTransport()"); }; exports.demonstrateAPIComparison = demonstrateAPIComparison; // Example 3: Mixed Branded and Conventional const demonstrateMixedUsage = () => { const env = (0, index_1.getEnvironment)(); const formatter = (0, index_1.createJsonFormatter)(); const mixedStrogger = (0, index_1.createLogger)({ config: { serviceName: "mixed-usage-demo" }, transports: [ (0, index_1.createStroggerConsoleTransport)({ formatter }), (0, index_1.createStroggerDataDogTransport)({ level: index_1.LogLevel.INFO }), ], formatter, env, }); console.log("\n=== Mixed Branded and Conventional ===\n"); mixedStrogger.info("Mixed approach - conventional createLogger with branded transports"); }; exports.demonstrateMixedUsage = demonstrateMixedUsage; // Run all branded API examples const runBrandedAPIExamples = () => { console.log("šŸŽØ Running Branded API Examples\n"); try { (0, exports.demonstrateBrandedAPI)(); (0, exports.demonstrateAPIComparison)(); (0, exports.demonstrateMixedUsage)(); console.log("\nāœ… All branded API examples completed!"); console.log("\nšŸ’” Benefits of Branded API:"); console.log(" • Clear brand ownership"); console.log(" • Consistent naming convention"); console.log(" • Easy to identify Strogger functions"); console.log(" • No breaking changes - conventional API still works"); } catch (error) { console.error("āŒ Error running branded API examples:", error); } }; exports.runBrandedAPIExamples = runBrandedAPIExamples; // Only run examples if this file is executed directly if (require.main === module) { (0, exports.runBrandedAPIExamples)(); } //# sourceMappingURL=branded-api-example.js.map