|
|
|
@ -27,12 +27,14 @@ type LogFuncs = "log" | "error" | "warn" | "trace" | "group";
|
|
|
|
|
type LoggerFunction = (message: string, locs: string[]) => void;
|
|
|
|
|
|
|
|
|
|
//TODO: make setting to save logs in idb, for debugging and troubleshooting purposes
|
|
|
|
|
function getLogger(type: LogFuncs): LoggerFunction {
|
|
|
|
|
function getLogger(type: LogFuncs, noDemoncord = false): LoggerFunction {
|
|
|
|
|
return function (message, locs) {
|
|
|
|
|
let rawParts = ["Demoncord", ...locs, message];
|
|
|
|
|
let styleParts = [];
|
|
|
|
|
let content = "";
|
|
|
|
|
|
|
|
|
|
if (noDemoncord) rawParts.splice(0, 1);
|
|
|
|
|
|
|
|
|
|
for (let i = 0; i < rawParts.length; i++) {
|
|
|
|
|
if (i === rawParts.length - 1) {
|
|
|
|
|
// last item
|
|
|
|
@ -52,12 +54,30 @@ const log: LoggerFunction = getLogger("log");
|
|
|
|
|
const warn: LoggerFunction = getLogger("warn");
|
|
|
|
|
const error: LoggerFunction = getLogger("error");
|
|
|
|
|
const trace: LoggerFunction = getLogger("trace");
|
|
|
|
|
const group: LoggerFunction = getLogger("group");
|
|
|
|
|
|
|
|
|
|
type GroupFuncLog = [string, string[]] | [string, string[], LogFuncs];
|
|
|
|
|
type GroupFunc = (msg: string, loc: string[], sublogs: GroupFuncLog[]) => void;
|
|
|
|
|
|
|
|
|
|
const group: GroupFunc = (msg, loc, sublogs) => {
|
|
|
|
|
// start group
|
|
|
|
|
getLogger("group")(msg, loc);
|
|
|
|
|
|
|
|
|
|
for (const sublog of sublogs) {
|
|
|
|
|
const logFunc = getLogger(
|
|
|
|
|
sublog.length === 3 ? sublog[2] : "log",
|
|
|
|
|
true
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
logFunc(sublog[0], sublog[1]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.groupEnd();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
log,
|
|
|
|
|
warn,
|
|
|
|
|
error,
|
|
|
|
|
trace,
|
|
|
|
|
group
|
|
|
|
|
group,
|
|
|
|
|
};
|
|
|
|
|