Basic logger with some stylings
Script này sẽ không được không được cài đặt trực tiếp. Nó là một thư viện cho các script khác để bao gồm các chỉ thị meta
// @require https://update.greatest.deepsurf.us/scripts/576832/1817140/Coloured%20logger.js
// ==UserScript==
// @name Coloured logger
// @namespace https://greatest.deepsurf.us/en/users/1574555-littux
// @version 1.0.0
// @description Basic logger with some stylings
// @author littux
// @grant none
// @license GPL-3.0-only
// @run-at document-start
// ==/UserScript==
(() => {
const globals = typeof unsafeWindow !== "undefined" ? unsafeWindow : window;
globals.__littuxUserscripts__ ??= {};
const userScripts = globals.__littuxUserscripts__;
userScripts.logger ??= {
logFuncMap: {
debug: console.debug,
info: console.info,
log: console.log,
warn: console.warn,
error: console.error,
crit: console.error,
},
logBGColorMap: {
debug: "#555",
info: "#0cf",
log: "#fff",
warn: "#ff0",
error: "#f00",
crit: "#700",
},
logColorMap: {
debug: "#fff",
info: "#000",
log: "#000",
warn: "#000",
error: "#fff",
crit: "#fff",
},
log({ level = "log", msg, func }, ...args) {
userScripts.logger.logFuncMap[level](
"%c[" + func + "] %c" + level + "%c " + msg,
"font-weight: bold",
"font-weight: bold; padding: 1px 3px; border-radius: 4px; background: " + userScripts.logger.logBGColorMap[level] + "; color: " + userScripts.logger.logColorMap[level],
"",
...args
);
},
Logger: class Logger {
constructor(funcName) {
this.funcName = funcName;
this.logMsg = userScripts.logger.log;
}
debug(msg, ...args) {
this.logMsg({ level: "debug", msg, func: this.funcName }, ...args);
}
info(msg, ...args) {
this.logMsg({ level: "info", msg, func: this.funcName }, ...args);
}
log(msg, ...args) {
this.logMsg({ level: "log", msg, func: this.funcName }, ...args);
}
warn(msg, ...args) {
this.logMsg({ level: "warn", msg, func: this.funcName }, ...args);
}
error(msg, ...args) {
this.logMsg({ level: "error", msg, func: this.funcName }, ...args);
}
crit(msg, ...args) {
this.logMsg({ level: "crit", msg, func: this.funcName }, ...args);
}
},
getLogger(funcName) { return new userScripts.logger.Logger(funcName) }
};
window.getLogger = userScripts.logger.getLogger;
})();