Greasy Fork

ExplicitMessage_Inject

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

目前为 2021-07-18 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.icu/scripts/429525/951788/ExplicitMessage_Inject.js

/**
 * 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)
    }
  }
})()