UNPKG

@uoa/lambda-tracing

Version:

Library for logging & distributed tracing in UoA Lambda projects

65 lines (64 loc) 2.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.UoaLogger = void 0; const winston_1 = __importDefault(require("winston")); class UoaLogger { constructor(options) { this.logger = winston_1.default.createLogger(options); } /** * Function to log debug level messages. * @param {string} message - Debug message. */ debug(message) { this.logger.debug(message); } /** * Function to log info level messages. * @param {string} message - Information message. */ info(message) { this.logger.info(message); } /** * Function to log audit level messages. * @param {AuditInformation} auditInformation - Audit Information object containing relevant details. * @param {string=} message - Audit message (optional). */ audit(auditInformation, message) { // Initialize logMessage with mandatory fields let logMessage = `application:${auditInformation.application ? auditInformation.application.replace(/\s/g, "") : "-"} ` + `accessedBy:${auditInformation.accessedBy.replace(/\s/g, "")} ` + `action:${auditInformation.action.toString().replace(/\s/g, "")} ` + `owner:${auditInformation.ownerId.replace(/\s/g, "")} ` + `resourceType:${auditInformation.resourceType.replace(/\s/g, "")} ` + `resourceId:${auditInformation.resourceId ? auditInformation.resourceId.replace(/\s/g, "") : "-"}`; // Append additional message if provided if (message) { logMessage += ` ${message}`; } this.logger.log("audit", logMessage); } /** * Function to log warn level messages. * @param {string} message - Warn message. */ warn(message) { this.logger.warn(message); } /** * Function to log error level messages. * @param {string} message - Error message. */ error(message) { this.logger.error(message); } } exports.UoaLogger = UoaLogger;