Итак, у меня есть журнал, который выглядит следующим образом
[2019-07-05T17: 03: 23.030] [TRACE] по умолчанию - [] \ n [2019-07-05T17: 03:23.768] [TRACE] по умолчанию - [{\ "startTime \": 1562364202310, \ "endTime \": 1562364202359, \ "duration \": \ "0: 0049 \", \ "url \": \ "http://localhost:3005/log\",\"method\":\"get\",\"status\":200}]\n[2019-07-05T17:03:24.484] [TRACE] по умолчанию -
Для каждого [TRACE] я хотел бы добавить его в массив.
Я не уверен, каков наилучший подход для этого,в идеале я хочу передать его в json, чтобы иметь возможность повторять это.
вот что я имею до сих пор.
я использую log4js.
app.get('/log', (req, res, next) => {
// reads the json file, after logger.trace(ourData); is executed
const rawdata = fs.readFileSync('logTofile.json', 'utf8');
// making an object for the json file
const logStuff = {
rawdata
}
// passing the object to json data, to iterate over.... but cant really.
res.json(logStuff.rawdata);
});
Вот конфигурация
const logger = log4js.getLogger();
log4js.addLayout('json', jsonLayout);
log4js.configure({
appenders: { log: { type: 'file', filename: 'logtofile.json'} },
categories: { default: { appenders: ['log'], level: 'ALL' } }
});
Какой подход я должен использовать, чтобы я мог легко перебрать этот объект.
в console.log, он возвращается в виде строки.Должен ли я взять, чтобы сделать итеративный.
вот как я настраиваю регистратор.
app.post('/logtofile', (req, res) => {
const newData = req.body;
myArray2.push(newData);
const ourData = JSON.stringify(newData);
logger.trace(ourData);
res.send(newData);
});