Currently, I am using express with log4js module like this, in any route file:
var log = require('log4jslogger.js').LOG;
log.info('this is log statement');
logger.js
var log4js = require('log4js');
log4js.configure(__base + "log4jsconfig.json");
var logger = log4js.getLogger('default');
Object.defineProperty(exports, "LOG", {
value : logger,
});
logs4jsconfig.json
{
"appenders": {
"out": {
"type": "stdout"
},
"default": {
"type": "dateFile",
"filename": "logs/default",
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"keepFileExt": true
}
},
"categories": {
"default": {
"appenders": ["out",
"default"],
"level": "trace"
}
}
}
I want to add logged [username]
or [unauthenticated]
in all log statements. which I can get like req.user.id
.
How can we do this instead of adding this to all log statements?
In log4js docs, I found a use of layout using a token but did not get clearly how to form AuthLibrary.currentUser()