updated verbosity module with fixed method

This commit is contained in:
srgooglo 2020-10-07 15:06:12 +02:00
parent 6454287277
commit 125d732b4f
2 changed files with 66 additions and 26 deletions

View File

@ -41,6 +41,7 @@
"axios": "^0.20.0", "axios": "^0.20.0",
"babel-core": "^6.26.3", "babel-core": "^6.26.3",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"colors": "^1.4.0",
"concat-stream": "^2.0.0", "concat-stream": "^2.0.0",
"cookie_js": "^1.4.0", "cookie_js": "^1.4.0",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",

View File

@ -2,49 +2,88 @@ import settings from 'core/libs/settings'
import { objectToArray } from 'core' import { objectToArray } from 'core'
import stackTrace from 'stack-trace' import stackTrace from 'stack-trace'
import path from 'path' import path from 'path'
import colors from 'colors'
const verbosity_enabled = settings('verbosity') const verbosity_enabled = settings('verbosity')
export function verbosity(data, params){ export function verbosity(data, params, stackTraceParams){
if(!verbosity_enabled) return false if(!verbosity_enabled) return false
let renderOpt = [] let initData;
initData = data
let opt = { let opt = {
stackTrace: { color: "green",
method: true, type: "log"
line: false, }
file: false, let optStackTrace = {
time: true activeColor: true,
}, line: false,
color: "#bada55", method: true,
type: "log", file: false,
time: true
} }
const frame = stackTrace.get()[1] const frame = stackTrace.get()[1]
const stackTraceData = { const stackTraceData = {
time: new Date().toLocaleTimeString(), time: new Date().toLocaleTimeString(),
line: `(:${frame.getLineNumber()})`, line: `(:${frame.getLineNumber()})`,
file: path.basename(frame.getFileName()), file: path.basename(frame.getFileName()),
method: `%c [${frame.getFunctionName()}]` method: `[${frame.getFunctionName()}]`
} }
if (params) { if (typeof(params) !== "undefined" || params != null) {
opt = { ...opt, ...params } objectToArray(params).forEach((e) => {
} if(typeof(e.value) !== "undefined"){
opt[e.key] = e.value
objectToArray(opt.stackTrace).forEach(e => {
if (typeof e !== "undefined" && e) {
if(e.value){
renderOpt.push(stackTraceData[e.key])
}
} }
}) })
renderOpt? renderOpt.push(" >") : null
if (Array.isArray(data)){
return console[opt.type](renderOpt.toString(), `color: ${opt.color}`, ...data)
} }
return console[opt.type](`%c${renderOpt}`, `color: ${opt.color}`, data) if (typeof(stackTraceParams) !== "undefined" || stackTraceParams != null) {
objectToArray(stackTraceParams).forEach((e) => {
if(typeof(e.value) !== "undefined"){
console.log(e.key,e.value)
optStackTrace[e.key] = e.value
}
})
}
if (opt.color) {
colors.enable()
}
const stackTraceKeys = Object.keys(optStackTrace)
const stackTraceLength = stackTraceKeys.length
let modifyCount = 0
let tmp
for (let i = 0; i < stackTraceLength; i++) {
const key = stackTraceKeys[i]
const value = optStackTrace[stackTraceKeys[i]]
const divisor = (i == (stackTraceLength - 1)? " | " : " > ")
// console.log(`[${key}] is the ${i == stackTraceLength? "last opt" : `n[${i}]` }`)
// console.log(i, "/", stackTraceLength -1)
if(typeof(stackTraceData[key]) !== "undefined" && value){
if (Array.isArray(initData)) {
if (modifyCount == 0) {
tmp = (`${stackTraceData[key]}`[opt.color] + divisor)
}else{
tmp = (`${stackTraceData[key]}`[opt.color] + divisor + tmp)
}
if (i == (stackTraceLength - 1)){
data.unshift(tmp)
}
}else{
data = (`${stackTraceData[key]}`[opt.color] + divisor + data)
}
modifyCount++
}
}
if (Array.isArray(initData)) {
return console[opt.type](...data)
}
return console[opt.type](data)
} }
export default verbosity export default verbosity