titbit-toolkit
Version:
titbit框架的工具集,包括跨域、静态资源处理,权限过滤,请求计时,cookie,session,jwt等大量中间件
64 lines (45 loc) • 1.09 kB
JavaScript
const cluster = require('node:cluster')
class MixLogger {
constructor(options = {}) {
this.logHandle = (w, msg, handle) => {
return true
}
this.quiet = true
for (let k in options) {
switch(k) {
case 'logHandle':
if (typeof options[k] === 'function') {
this.logHandle = options[k]
}
break
case 'quiet':
this.quiet = !!options[k]
break
}
}
}
init(app) {
if (cluster.isWorker) {
return
}
//版本兼容
let mse = app.daeMsgEvent ? app.daeMsgEvent : app.msgEvent
if (mse['_log'] === undefined) {
if (!this.quiet) {
return console.error(`Warning: mixlogger must be running in daemon mode`)
}
return
}
let self = this
let org_log = mse['_log'].callback
let log_handle = (w, msg, handle) => {
if (false === self.logHandle(w, msg, handle) ) {
return
}
org_log(w, msg, handle)
}
app.setMsgEvent('_log', log_handle)
}
}
module.exports = MixLogger