UNPKG

bws-secure

Version:

Secure environment management with Bitwarden Secrets Manager

67 lines (56 loc) 1.63 kB
const logger = { // ANSI color codes colors: { reset: '\x1b[0m', bright: '\x1b[1m', dim: '\x1b[2m', red: '\x1b[31m', green: '\x1b[32m', yellow: '\x1b[33m', blue: '\x1b[34m', magenta: '\x1b[35m', cyan: '\x1b[36m' }, // Map log levels to colors levelColors: { error: 'red', warn: 'yellow', info: 'green', debug: 'blue', verbose: 'cyan' }, error: function (message) { console.error(`${this.colors.red}[ERROR] ${message}${this.colors.reset}`); }, warn: function (message) { console.warn(`${this.colors.yellow}[WARN] ${message}${this.colors.reset}`); }, info: function (message) { console.log(`${this.colors.green}[INFO] ${message}${this.colors.reset}`); }, debug: function (message) { console.log(`${this.colors.blue}[DEBUG] ${message}${this.colors.reset}`); }, verbose: function (message) { console.log(`${this.colors.cyan}[VERBOSE] ${message}${this.colors.reset}`); }, // Helper to colorize specific parts of a message colorize: function (text, color) { return `${this.colors[color]}${text}${this.colors.reset}`; }, // Format timestamps consistently formatTimestamp: function () { return new Date().toISOString(); }, // Enhanced log method that includes timestamps log: function (level, message) { const timestamp = this.formatTimestamp(); const color = this.levelColors[level] || 'reset'; const formattedMessage = `[${timestamp}] ${this.colorize( `[${level.toUpperCase()}]`, color )} ${message}`; console.log(formattedMessage); } }; export default logger;