我有一個名為request.log這是日志檔案的內容的日志檔案
[2022-06-30T09:56:40.146Z] ### POST https://test.csdf/auth/send_otp
{
"method": "POST",
"headers": {
"User-Agent": "testing",
"Content-Type": "application/json"
}
}
[2022-06-30T09:56:40.668Z] ### POST https://test.csdf/auth/login
{
"method": "POST",
"headers": {
"User-Agent": "testing",
"Content-Type": "application/json"
}
}
如何決議日志檔案并將其轉換為這樣的陣列 json 物件
[
{
"method": "POST",
"url": "https://test.co/otp"
},
{
"method": "POST",
"url": "https://test.co/login"
}
]
uj5u.com熱心網友回復:
您必須運行某種腳本才能將它們轉換為 JSON。在 javascript/nodejs 中,您可以執行以下操作:
const logFileContents = `[2022-06-30T09:56:40.146Z] ### POST https://test.csdf/auth/send_otp
{
"method": "POST",
"headers": {
"User-Agent": "testing",
"Content-Type": "application/json"
}
}
[2022-06-30T09:56:40.668Z] ### POST https://test.csdf/auth/login
{
"method": "POST",
"headers": {
"User-Agent": "testing",
"Content-Type": "application/json"
}
}`;
function convertToJSON(logs) {
return logs
.match(/\[. \]\s\# \s\w \s.*\n/g) // fetch lines to parse
.map((line) => line.split('###')[1].trim().split(' ')) //isolate method/url
.map((log) => ({
method: log[0],
url: log[1],
}));// convert array to object
}
console.log(JSON.stringify(convertToJSON(logFileContents), null, 4));
如果它不適用于您的日志檔案,只需修復正則運算式以匹配您的情況
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/498291.html
標籤:javascript 节点.js npm 日志记录 fs
