UNPKG

@bernierllc/logging

Version:

A comprehensive logging package with Winston integration for audit and system logging

105 lines (104 loc) 5.79 kB
"use strict"; /* Copyright (c) 2025 Bernier LLC This file is licensed to the client under a limited-use license. The client may use and modify this code *only within the scope of the project it was delivered for*. Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.defaultSystemLogger = exports.defaultAuditLogger = exports.createBrowserLogger = exports.winston = exports.logSystemEntry = exports.logDebug = exports.logInfo = exports.logWarn = exports.logError = exports.logSystem = exports.createSystemLogger = exports.logAuditEntry = exports.logAudit = exports.createAuditLogger = void 0; exports.audit = audit; exports.system = system; // Fail hard if this package is imported in a browser context if (typeof window !== 'undefined' && typeof window.document !== 'undefined') { throw new Error('[@bernierllc/logging] This logging package cannot be used in the browser. It is server-only and must only be imported in API or server-side code.'); } // Export types __exportStar(require("./types"), exports); // Export audit logging functionality var auditLogger_1 = require("./auditLogger"); Object.defineProperty(exports, "createAuditLogger", { enumerable: true, get: function () { return auditLogger_1.createAuditLogger; } }); Object.defineProperty(exports, "logAudit", { enumerable: true, get: function () { return auditLogger_1.logAudit; } }); Object.defineProperty(exports, "logAuditEntry", { enumerable: true, get: function () { return auditLogger_1.logAuditEntry; } }); // Export system logging functionality var systemLogger_1 = require("./systemLogger"); Object.defineProperty(exports, "createSystemLogger", { enumerable: true, get: function () { return systemLogger_1.createSystemLogger; } }); Object.defineProperty(exports, "logSystem", { enumerable: true, get: function () { return systemLogger_1.logSystem; } }); Object.defineProperty(exports, "logError", { enumerable: true, get: function () { return systemLogger_1.logError; } }); Object.defineProperty(exports, "logWarn", { enumerable: true, get: function () { return systemLogger_1.logWarn; } }); Object.defineProperty(exports, "logInfo", { enumerable: true, get: function () { return systemLogger_1.logInfo; } }); Object.defineProperty(exports, "logDebug", { enumerable: true, get: function () { return systemLogger_1.logDebug; } }); Object.defineProperty(exports, "logSystemEntry", { enumerable: true, get: function () { return systemLogger_1.logSystemEntry; } }); // Export Winston for advanced usage var winston_1 = require("winston"); Object.defineProperty(exports, "winston", { enumerable: true, get: function () { return __importDefault(winston_1).default; } }); // Note: This package is server-only by default. For browser logging, import { createBrowserLogger } from './browserLogger'. var browserLogger_1 = require("./browserLogger"); Object.defineProperty(exports, "createBrowserLogger", { enumerable: true, get: function () { return browserLogger_1.createBrowserLogger; } }); // Default logger instances for convenience const auditLogger_2 = require("./auditLogger"); const systemLogger_2 = require("./systemLogger"); /** * Default audit logger instance * Configured for production use with file transport and rotation */ exports.defaultAuditLogger = (0, auditLogger_2.createAuditLogger)({ enableFile: true, filePath: './logs/audit.log' }); /** * Default system logger instance * Configured for production use with file transport and rotation * Console logging is disabled in production, enabled in development */ exports.defaultSystemLogger = (0, systemLogger_2.createSystemLogger)({ level: process.env.LOG_LEVEL || 'info', enableConsole: process.env.NODE_ENV !== 'production', enableFile: true, filePath: './logs/app.log', maxSize: '10m', maxFiles: '5', zippedArchive: true }); /** * Convenience function to log audit events using default logger * @param entry Audit log entry */ function audit(entry) { (0, auditLogger_2.logAudit)(exports.defaultAuditLogger, entry); } /** * Convenience function to log system events using default logger * @param entry System log entry */ function system(entry) { (0, systemLogger_2.logSystem)(exports.defaultSystemLogger, entry); } /** * Convenience functions for quick logging */ exports.logger = { error: (message, error, metadata) => (0, systemLogger_2.logError)(exports.defaultSystemLogger, message, error, metadata), warn: (message, metadata) => (0, systemLogger_2.logWarn)(exports.defaultSystemLogger, message, metadata), info: (message, metadata) => (0, systemLogger_2.logInfo)(exports.defaultSystemLogger, message, metadata), debug: (message, metadata) => (0, systemLogger_2.logDebug)(exports.defaultSystemLogger, message, metadata), audit: (entry) => audit(entry) }; //# sourceMappingURL=index.js.map