app-logging
Version:
Application development logs
89 lines (88 loc) • 4.67 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Log = void 0;
var fs = __importStar(require("fs"));
var storagePath = process.env.PWD + '/storage';
var Log = /** @class */ (function () {
function Log() {
var _this = this;
this.info = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'INFO');
};
this.error = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'ERROR');
};
this.debug = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'DEBUG');
};
this.critical = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'CRITICAL');
};
this.emergency = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'EMERGENCY');
};
this.alert = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'ALERT');
};
this.notice = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'NOTICE');
};
this.warning = function (message, contextualData, async) {
if (async === void 0) { async = false; }
_this.executeLogs(message, contextualData, async, 'WARNING');
};
this.executeLogs = function (message, contextualData, async, type) {
if (async === void 0) { async = false; }
var date = new Date();
var logDate = date.getFullYear() + "-" + ('0' + (date.getMonth() + 1)).slice(-2) + "-" + ('0' + date.getDate()).slice(-2) + " " + ('0' + date.getHours()).slice(-2) + ":" + ('0' + date.getMinutes()).slice(-2) + ":" + ('0' + date.getSeconds()).slice(-2);
if (async) {
fs.readFile(storagePath + "/app.log", 'utf8', function (error, read) {
var newLog = (read !== '' ? read + "\n" : read) + "[" + logDate + "] " + (process.env.NODE_ENV || 'local') + "." + type + ": " + (message ? message : '') + " " + (contextualData ? (typeof contextualData === 'object' && contextualData !== null ? JSON.stringify(contextualData) : contextualData) : '');
fs.writeFile(storagePath + "/app.log", newLog, function () { });
});
}
else {
if (!fs.existsSync(storagePath)) {
fs.mkdirSync(storagePath);
fs.openSync(storagePath + "/app.log", 'w');
}
else {
if (!fs.existsSync(storagePath + "/app.log")) {
fs.openSync(storagePath + "/app.log", 'w');
}
}
var data = fs.readFileSync(storagePath + "/app.log", 'utf8');
var newLog = (data !== '' ? data + "\n" : data) + "[" + logDate + "] " + (process.env.NODE_ENV || 'local') + "." + type + ": " + (message ? message : '') + " " + (contextualData ? (typeof contextualData === 'object' && contextualData !== null ? JSON.stringify(contextualData) : contextualData) : '');
fs.writeFileSync(storagePath + "/app.log", newLog);
}
};
}
return Log;
}());
exports.Log = Log;