🏠 Home 

Library | Color Logs

Log enhancer. Extends console.log, console.error, etc. Show console.debug logs by setting window.Debug = true.

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/38888/1060680/Library%20%7C%20Color%20Logs.js

// ==UserScript==
// @name            Library: Color Logs
// @namespace       org.sidneys.userscripts
// @homepage        https://gist.githubusercontent.com/sidneys/5d44a978d18a1b91f554b2358406671d/raw/
// @version         16.0.1
// @description     Log enhancer. Extends console.log, console.error, etc. Show console.debug logs by setting window.Debug = true.
// @author          sidneys
// @icon            https://www.greasespot.net/favicon.ico
// @match           http*://*/*
// @grant           unsafeWindow
// ==/UserScript==
/**
* Get Debug State
* @this window
* @returns {Boolean} - Yes/No
*/
let getIsDebug = () => !!unsafeWindow.Debug || !!unsafeWindow.DEBUG || !!this.Debug || !!this.DEBUG
getIsDebug = getIsDebug.bind(this)
/**
* Get Log Message Prefix
* @returns {String} - Prefix
*/
let getLogPrefix = () => GM.info.script.name
/**
* Original console
* @type {Object}
* @readonly
*/
// const originalConsole = window.console
/**
* Original log()
* @type {function}
* @readonly
*/
const originalLog = unsafeWindow.console.log
/**
* Extended console logging methods
* @type {Object}
* @borrows window.console.debug as debug
* @borrows window.console.error as error
* @borrows window.console.info as info
* @borrows window.console.log as log
* @borrows window.console.warn as warn
*/
const consoleMixin = {
debug: function () {
if (!getIsDebug()) { return }
const color = `rgb(255, 150, 70)`
originalLog.call(this, `🛠 %c[${getLogPrefix()}] %c${Array.from(arguments).join(' ')}`, `font-weight: 600; color: ${color};`, `font-weight: 400; color: ${color};`)
},
error: function () {
const color = `rgb(220, 0, 30)`
originalLog.call(this, `🚨️ %c[${getLogPrefix()}] %c${Array.from(arguments).join(' ')}`, `font-weight: 600; color: ${color};`, `font-weight: 400; color: ${color};`)
},
info: function () {
const color = `rgb(0, 200, 180)`
originalLog.call(this, `ℹ️ %c[${getLogPrefix()}] %c${Array.from(arguments).join(' ')}`, `font-weight: 600; color: ${color};`, `font-weight: 400; color: ${color};`)
},
log: function () {
const color = `rgb(70, 70, 70)`
originalLog.call(this, `✳️ %c[${getLogPrefix()}] %c${Array.from(arguments).join(' ')}`, `font-weight: 600; color: ${color};`, `font-weight: 400; color: ${color};`)
},
warn: function () {
const color = `rgb(255, 100, 0)`
originalLog.call(this, `⚠️ %c[${getLogPrefix()}] %c${Array.from(arguments).join(' ')}`, `font-weight: 600; color: ${color};`, `font-weight: 400; color: ${color};`)
}
}
/**
* Replace console logging methods
* @mixes window.console
*/
Object.assign(unsafeWindow.console, consoleMixin)