@bernierllc/logging
Version:
A comprehensive logging package with Winston integration for audit and system logging
105 lines (104 loc) • 5.79 kB
JavaScript
;
/*
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