, .
, , , .
console.trace().
// 2016-6-24
, , - , , .
, - - , , ( , .bind).
, , console.log, req. ( )
, , .
export default function logFactory() {
return (req, res, next) => {
function getLogger(type = 'log', ...args) {
let user = 'unknown';
try {
user = req.session.cas.user;
} catch (e) {
}
if (!console[type]) {
console.error('invalid console type', type);
}
return console[type].bind(console[type], `${req.sn}|${user}|${req.ip}|`, ...args);
}
req.getLogger = getLogger;
req.log = {
debug: getLogger('log'),
info: getLogger('log'),
log: getLogger('log'),
warn: getLogger('warn'),
error: getLogger('error')
};
}
}
console.log , req.log.info('Any business infos here').
, winston.
2016-06-24 17:47:52|4497|DEBUG|RequestUtils.js:256|0e84f1c3-d5b7-4578-9b83-f03fe9951fb1| unknown| 10.240.138.19| Receiving response from POST /statics/add_pv_uv?portal_auth_key=af27c0bc-cc04-4821-a4de-cbb93c0ed19f 200 60ms.