如何在函数中不传参数request的情况下,区分每一条请求? 我写两个log是因为要告知调用者的层数是未知的。
function log1(msg) {
let id = ?
console.log(id + '发送了消息:' + msg);
}
function log(msg) {
log1(msg)
}
router.get('*', () => {
log('abc');
});
这是一个web后端代码,因为node的单线程问题,所以不能写全局变量, 因为并发请求会更改全局变量导致混乱,我现在感觉没办法实现。 所以看大家有没有想法,我一开始想从caller中获取,也没成功。
=====================================================================================
我觉得问题没有描述清楚,所以写一下具体碰到的情况。
我在使用log4js记录日志,log4js提供了这样一个方法可以自定义token,那么就需要有一个获取当前用户的方法,或者获取当前请求的方法,这个获取当前请求如何获取。
log4js.configure({
appenders: {
out: { type: 'stdout', layout: {
type: 'pattern',
pattern: '%d %p %c %x{user} %m%n',
tokens: {
user: function(logEvent) {
return AuthLibrary.currentUser();
}
}
}}
},
categories: { default: { appenders: ['out'], level: 'info' } }
});
const logger = log4js.getLogger();
logger.info('doing something.');