UNPKG

cat2log

Version:

Easy-to-user log file package

280 lines (230 loc) 7.69 kB
module.exports = { version: "0.1.3", config: { path_default: "./", path_md: "./", path_txt: "./", path_json: "./", name_file_default: "default.log", name_file_md: "default.log.md", name_file_txt: "default.log", name_file_json: "default.log.json", date: true, local_time: "en-US", use_unknown_status: false, status: ['Unknown', 'Resuming', 'Pause', 'Up', 'Down', 'Broken', 'Warning', 'OK', 'Connected', 'Disconnected', 'info', 'Stop', 'Start'] }, txt: { add: function (TAG, STATUS, txt, callback) { if (!module.exports.util.checkStatus(STATUS)) { return "Error Status not found, you maybe should use use_unknown_status"; } if (module.exports.config.date == true) { var str = "[ " + new Date().toUTCString() + " ]"; } else { var str = ""; } str += " ["+TAG+"] " + "["+STATUS+"] " + txt; module.exports.txt.append(str, callback); }, // end add append: function (str, callback) { if (module.exports.txt.checkFile()) { var fs = require('fs'); fs.appendFile(module.exports.util.getFullFilePath('txt'), str + "\n", function () { if (callback !== undefined ) { callback(true); } else { return true; } }); } else { if (callback !== undefined ) { callback(false); } else { return false; } } }, // end append checkFile: function () { var fs = require('fs'); if (fs.existsSync(module.exports.util.getFullFilePath('txt'))) { return true } else { //init the file var file = ""; fs.writeFileSync(module.exports.util.getFullFilePath('txt'), file, 'utf-8'); return true } } // end checkFile }, // end TXT json: { add: function (object, callback) { if (!module.exports.util.checkStatus(object.status)) { return "Error Status not found, you maybe should use use_unknown_status"; } if (module.exports.config.date == true) { object.date = new Date().toUTCString(); } module.exports.json.append(object, callback); }, // end add append: function (object, callback) { var fs = require('fs'); if (module.exports.json.checkFile()) { var file = JSON.parse(fs.readFileSync(module.exports.util.getFullFilePath('json'), 'utf-8')); file[file.length] = object; fs.writeFileSync(module.exports.util.getFullFilePath('json'), JSON.stringify(file, null, 4), 'utf-8'); if (callback !== undefined ) { callback(true); } else { return true; } } else { if (callback !== undefined ) { callback(false); } else { return false; } } }, // end append checkFile: function () { var fs = require('fs'); if (fs.existsSync(module.exports.util.getFullFilePath('json'))) { return true } else { var file = []; fs.writeFileSync(module.exports.util.getFullFilePath('json'), JSON.stringify(file, null, 4), 'utf-8'); return true } } // end checkFile }, // end json md: { add :function (TAG, STATUS, txt, callback) { if (!module.exports.util.checkStatus(STATUS)) { return "Error Status not found, you maybe should use use_unknown_status"; } if (module.exports.config.date == true) { var str = "| " + new Date().toUTCString() + ""; } else { var str = ""; } str += "| __"+TAG+"__ | *"+STATUS+"* | " + txt + " |"; module.exports.md.append(str, callback); }, // end add append: function (md_str, callback) { var fs = require('fs'); if (module.exports.md.checkFile()) { fs.appendFile(module.exports.util.getFullFilePath('md'), md_str + "\n", function () { if (callback !== undefined ) { callback(true); } else { return true; } }); } else { if (callback !== undefined ) { callback(false); } else { return false; } } }, // end append checkFile: function () { var fs = require('fs'); if (fs.existsSync(module.exports.util.getFullFilePath('md'))) { return true } else { var file = "| Date | TAG | STATUS | Info | \n"; file += "| :---:| :--: | ----: | :--: | \n"; fs.writeFileSync(module.exports.util.getFullFilePath('md'), file, 'utf-8'); return true } } // end checkFile }, // end markdown all: { add: function (TAG, STATUS, txt, callback) { if (!module.exports.util.checkStatus(STATUS)) { return "Error Status not found, you maybe should use use_unknown_status"; } var o = { tag : TAG, status: STATUS, info: txt } module.exports.txt.add(TAG, STATUS, txt, function (result) { module.exports.md.add(TAG, STATUS, txt, function (result) { module.exports.json.add(o, function (result) { if (callback !== undefined ) { callback(result); } else { return result; } }); }); }); } // end add }, // end all util: { checkStatus: function (status) { if (module.exports.config.use_unknown_status == true) { return true; } var s = module.exports.config.status; for (var i = 0; i < s.length; i++) { if (s[i] == status) { return true } } return false }, // end checkStatus getFullFilePath: function (type) { switch (type) { case 'json': var path = module.exports.config.path_json; var name = module.exports.config.name_file_json; return path + name; case 'txt': var path = module.exports.config.path_txt; var name = module.exports.config.name_file_txt; return path + name; case 'md': var path = module.exports.config.path_md; var name = module.exports.config.name_file_md; return path + name; case 'default': var path = module.exports.config.path_default; var name = module.exports.config.name_file_default; return path + name; default: return false; } }, // end getFullFilePath getFilePath: function (type) { switch (type) { case 'json': return module.exports.config.path_json; case 'txt': return module.exports.config.path_txt; case 'md': return module.exports.config.path_md; case 'default': return module.exports.config.path_default; default: return false; } }, // end getFilePath getFileName: function (type) { switch (type) { case 'json': return module.exports.config.file_name_json; case 'txt': return module.exports.config.file_name_txt; case 'md': return module.exports.config.file_name_md; case 'default': return module.exports.config.file_name_default; default: return false; } } // end getFileName } // end util }