ExplicitMessage_Inject

[DEBUG] 信息显式化(注入版)

目前為 2021-07-18 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.greasyfork.org/scripts/429525/951788/ExplicitMessage_Inject.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

/**
 * ExplicitLog_Inject
 * @file [DEBUG] 显式日志(注入版)
 * @version 2.0.1.20210718
 * @author Laster2800
 */

(function() {
  const w = unsafeWindow
  const logs = ['log', 'warn', 'error']
  for (const log of logs) {
    const _ = console[log]
    console[log] = function() {
      if (w.gm429521?.config.enabled) {
        const m = [arguments, log.toUpperCase()]
        if (w.gm429521?.fn.match(m, w.gm429521?.config.include) && !w.gm429521?.fn.match(m, w.gm429521?.config.exclude)) {
          let msg = null
          if (arguments.length == 1) {
            if (typeof arguments[0] == 'object') {
              msg = JSON.stringify(arguments[0])
            } else {
              msg = arguments[0]
            }
          } else {
            msg = JSON.stringify(arguments)
          }
          w.gm429521?.fn.explicit(msg, log.toUpperCase(), GM_info.script.name)
        }
      }
      return _.apply(console, arguments)
    }
  }
})()