wiki-js-cli/source/helpers/log.ts

70 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

2024-09-30 09:11:50 +02:00
namespace _wiki_js_cli.helpers.log
{
/**
*/
export enum enum_level {
debug = "debug",
info = "info",
notice = "notice",
warning = "warning",
error = "error",
}
/**
*/
const _level_order : Array<enum_level> = [
enum_level.debug,
enum_level.info,
enum_level.notice,
enum_level.warning,
enum_level.error,
];
/**
*/
var _threshold : enum_level = enum_level.info;
/**
*/
export function setup(
threshold : enum_level
) : Promise<void>
{
_threshold = threshold;
return Promise.resolve(undefined);
}
/**
*/
export function write(
level : enum_level,
incident : string,
details : any
) : void
{
if (_level_order.indexOf(level) < _level_order.indexOf(_threshold)) {
// do nothing
}
else {
process.stderr.write(
_wiki_js_cli.helpers.string.coin(
"\n<{{datetime}}> [{{level}}] {{incident}}\n{{details}}\n\n",
{
"datetime": (new Date()).toISOString(),
"level": level,
"incident": incident,
"details": JSON.stringify(details, undefined, "\t"),
}
)
);
}
}
}