@kcutils/logger
Version:
Another Logger Service
126 lines • 5.87 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggerOption = void 0;
var levels_1 = require("../../constants/levels");
var helper_1 = require("@kcutils/helper");
var figures_1 = require("figures");
var LoggerOption = /** @class */ (function () {
function LoggerOption(option, extra) {
this.option = option;
this.extra = extra;
}
LoggerOption.prototype.set = function (key, value) {
this.option[key] = value;
};
LoggerOption.prototype.isDebug = function (override) {
return this.getBoolean("DEBUG", "debug", false, override);
};
LoggerOption.prototype.isJson = function (override) {
return this.getBoolean("JSON", "json", false, override);
};
LoggerOption.prototype.isInteractive = function (override) {
return this.getBoolean("INTERACTIVE", "interactive", false, override);
};
LoggerOption.prototype.isDisabled = function (override) {
return this.getBoolean("DISABLED", "disabled", false, override);
};
LoggerOption.prototype.isColor = function (override) {
return this.getBoolean("COLOR", "color", true, override);
};
LoggerOption.prototype.isOverrideStream = function (override) {
if (helper_1.generic.isExist(override))
return override;
return this.option.overrideStream;
};
LoggerOption.prototype.getOverrideStream = function (override) {
if (helper_1.generic.isExist(override))
return override;
return helper_1.array.toArray(this.option.streams);
};
LoggerOption.prototype.getLevel = function (override) {
return this.getString("LEVEL", "level", levels_1.info.name, function (s) { return levels_1.toLevel(s).name; }, override);
};
LoggerOption.prototype.getSeparator = function (override) {
return this.getString("SEPARATOR", "separator", figures_1.arrowRight, function (s) { return s; }, override);
};
LoggerOption.prototype.getDatetime = function (override) {
var def = "date";
return this.getString("DATETIME", "datetime", def, function (s) { return (s === "date" || s === "datetime" || s === "time" || s === "timestamp" ? s : def); }, override);
};
LoggerOption.prototype.getOutputList = function (override) {
return this.getArray("OUTPUT_LIST", "output", function (v) { return v === "file" || v === "console"; }, function (t) { return t; }, this.onlyExistArray, override);
};
LoggerOption.prototype.getScopes = function (override) {
return this.getArray("SCOPES", "scopes", function () { return true; }, function (s) { return s; }, this.appendArray, override);
};
LoggerOption.prototype.getSecrets = function (override) {
return this.getArray("SECRETS", "secrets", function () { return true; }, function (s) { return s; }, this.appendArray, override);
};
LoggerOption.prototype.onCensor = function (secert) {
return this.option.censor(secert);
};
LoggerOption.prototype.getTypes = function () {
var _a;
return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.types;
};
LoggerOption.prototype.getSettings = function () {
var _a;
return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.settings;
};
LoggerOption.prototype.getString = function (envName, key, def, mapFn, override) {
var _a;
if (helper_1.generic.isExist(override))
return override;
var envData = helper_1.env.read(LoggerOption.envPrefix + "_" + envName, (_a = helper_1.generic.toString(this.option[key])) !== null && _a !== void 0 ? _a : def);
return mapFn(envData);
};
LoggerOption.prototype.getBoolean = function (envName, key, def, override) {
var _a, _b;
if (helper_1.generic.isExist(override))
return override;
var envData = helper_1.env.read(LoggerOption.envPrefix + "_" + envName, (_a = helper_1.generic.toString(this.option[key])) !== null && _a !== void 0 ? _a : def.toString());
return (_b = helper_1.generic.toBoolean(envData)) !== null && _b !== void 0 ? _b : def;
};
LoggerOption.prototype.getArray = function (envName, key, filterFn, mapFn, selectFn, override) {
if (helper_1.generic.isExist(override))
return override;
var output = helper_1.env
.read(LoggerOption.envPrefix + "_" + envName, "")
.split(",")
.filter(helper_1.generic.nonEmpty)
.filter(filterFn)
.map(mapFn);
var defaultOutput = this.option[key];
return selectFn(defaultOutput, output);
};
LoggerOption.prototype.onlyExistArray = function (t1, t2) {
var tt1 = helper_1.generic.nonEmpty(t1) ? t1 : [];
var tt2 = helper_1.generic.nonEmpty(t2) ? t2 : [];
if (tt2.length > 0)
return tt2;
else
return tt1;
};
LoggerOption.prototype.appendArray = function (t1, t2) {
var tt1 = helper_1.generic.nonEmpty(t1) ? t1 : [];
var tt2 = helper_1.generic.nonEmpty(t2) ? t2 : [];
return tt1.concat(tt2);
};
LoggerOption.prototype.copy = function (inOpt, inExt) {
var option = helper_1.json.deepMerge(this.option, inOpt);
var extra = helper_1.json.deepMerge(this.extra, inExt);
return new LoggerOption(option, extra);
};
LoggerOption.prototype.clone = function () {
var option = Object.assign({}, this.option);
var extra = Object.assign({}, this.extra);
return new LoggerOption(option, extra);
};
LoggerOption.prototype.toStrictOption = function () {
return this.option;
};
LoggerOption.envPrefix = "KCUTILS";
return LoggerOption;
}());
exports.LoggerOption = LoggerOption;
//# sourceMappingURL=LoggerOption.js.map