thelounge/src/log.js

39 lines
830 B
JavaScript
Raw Normal View History

"use strict";
2018-03-02 19:28:54 +01:00
const colors = require("chalk");
const read = require("read");
2016-04-16 13:32:38 +02:00
function timestamp() {
2019-07-17 11:33:59 +02:00
const datetime = new Date()
.toISOString()
.split(".")[0]
.replace("T", " ");
2018-09-20 13:15:05 +02:00
return colors.dim(datetime);
2016-04-16 13:32:38 +02:00
}
module.exports = {
/* eslint-disable no-console */
error(...args) {
console.error(timestamp(), colors.red("[ERROR]"), ...args);
},
warn(...args) {
console.error(timestamp(), colors.yellow("[WARN]"), ...args);
},
info(...args) {
console.log(timestamp(), colors.blue("[INFO]"), ...args);
},
debug(...args) {
console.log(timestamp(), colors.green("[DEBUG]"), ...args);
},
raw(...args) {
console.log(...args);
},
/* eslint-enable no-console */
prompt(options, callback) {
options.prompt = [timestamp(), colors.cyan("[PROMPT]"), options.text].join(" ");
read(options, callback);
},
};