"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chalk = require("chalk"); const moment = require("moment"); const config = require("./config"); const nodemailer = require("nodemailer"); var Level; (function (Level) { Level[Level["All"] = 0] = "All"; Level[Level["NoDebug"] = 1] = "NoDebug"; Level[Level["NoDebugNoInfo"] = 2] = "NoDebugNoInfo"; Level[Level["NoDebugNoInfoNoWarning"] = 3] = "NoDebugNoInfoNoWarning"; })(Level || (Level = {})); var level = Level.NoDebug; function timestamp() { return moment().format('HH:mm:ss.SSS'); } function setLevel(value) { switch (value) { case 'info': level = Level.NoDebug; break; case 'warn': level = Level.NoDebugNoInfo; break; case 'error': level = Level.NoDebugNoInfoNoWarning; break; default: level = Level.All; } } exports.setLevel = setLevel; function sendAlarmMail(subject, message) { let transport = nodemailer.createTransport({ host: config.dict.smtpHost, port: config.dict.smtpPort, secure: false, tls: { rejectUnauthorized: false } }); let mail = { from: config.dict.smtpSender, to: config.dict.smtpReceiver, subject: subject, text: message }; transport.sendMail(mail) .then((v) => { info(`Mail sent, ${subject}, ${message}, ${v.response}`); }) .catch((reason) => { error(`Failure when sending alarm mail: ${message}, ${reason}`); }); } exports.sendAlarmMail = sendAlarmMail; function info(message) { if (level < Level.NoDebugNoInfo) { console.log(`${timestamp()} ${chalk.bold.cyan('[ II ]')} ${message}`); } } exports.info = info; function warn(message) { if (level < Level.NoDebugNoInfoNoWarning) { console.log(`${timestamp()} ${chalk.bold.yellow('[ WW ]')} ${message}`); } } exports.warn = warn; function error(message) { console.log(`${timestamp()} ${chalk.bold.red('[ EE ]')} ${message}`); } exports.error = error; function success(message) { console.log(`${timestamp()} ${chalk.bold.green('[ OK ]')} ${message}`); } exports.success = success; function debug(message) { if (level < Level.NoDebug) { console.log(`${timestamp()} ${chalk.bold.magenta('[ DB ]')} ${message}`); } } exports.debug = debug; //# sourceMappingURL=log.js.map