diff --git a/cc.js b/cc.js index 4b8a6e2..bb97c9a 100644 --- a/cc.js +++ b/cc.js @@ -2,7 +2,7 @@ const util = require('util') function deepStringify (args = []) { if (globalThis.process?.release?.name === 'node') { - return globalThis.wo?.envar?.logDeep ? util.inspect(args, { showHidden: false, depth: null, colors: typeof globalThis.wo?.envar?.logColor === 'undefined' ? true : globalThis.wo?.envar?.logColor }) : args // JSON.stringify(args, null, 2) // in nodejs console, object only shows children of depth < 3 by default. 如果要完整数据,就要进行扩展。 + return globalThis.wo?.envar?.logDeep ? util.inspect(args, { showHidden: false, depth: null, colors: typeof globalThis.wo?.envar?.logColor === 'undefined' ? true : globalThis.wo?.envar?.logColor }) : args // JSON.stringify(args, null, 2) // in nodejs console, object only shows children of depth <= 3 by default. 如果要完整数据,就要进行扩展。 } else if (globalThis.uni && globalThis.UniApp) { // 可再分为 web 和 app,通过 #ifdef 或 globalThis.window/location 判断 return globalThis.wo?.envar?.logDeep ? util.inspect(args, { showHidden: false, depth: null, colors: typeof globalThis.wo?.envar?.logColor === 'undefined' ? true : globalThis.wo?.envar?.logColor }) : args // in browser console, object is expandable by default. @@ -15,7 +15,7 @@ function deepStringify (args = []) { function fromPath () { if (globalThis.process?.release?.name === 'node') { - return {} // { _from: fromPath.caller.name } // new Error().stack?.split('\n') , .match(/at (.*?) /g)[2] + return { _from: new Error().stack?.match?.(/\bat (.*?) /g)?.[2] } // { _from: fromPath.caller.name } // new Error().stack?.split('\n') , .match(/at (.*?) /g)[2] } else if (globalThis.uni && globalThis.UniApp) { return { _from: globalThis.getCurrentPages?.()?.pop?.()?.route?.substring?.(6) || 'VueApp' } } else { @@ -38,7 +38,7 @@ module.exports = cclog (...args) { console.log(deepStringify({ _at: new Date().toJSON(), - _type: 'CLOG', // arguments.callee.name doesn't work in nodejs strict mode + _type: 'CLOG', // arguments.callee.name, // TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them ...fromPath(), ...expandArgs(args) }))