как перебрать файл json файла log4js stacktrace - PullRequest
0 голосов
/ 06 июля 2019

Итак, у меня есть журнал, который выглядит следующим образом

[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, он возвращается в виде строки.Должен ли я взять, чтобы сделать итеративный.

enter image description here

вот как я настраиваю регистратор.

app.post('/logtofile', (req, res) => {
  const newData = req.body;
  myArray2.push(newData);
  const ourData = JSON.stringify(newData);
  logger.trace(ourData);
  res.send(newData);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...