【发布时间】:2021-09-24 09:20:21
【问题描述】:
我想将日志文件转换为 JSON 格式。
Log文件内容如下:
2021-07-13T14:32:00.197904 DDD client=10.4.35.4
2021-07-13T14:32:00.271923 BBB from=<josh.josh@test.com>
2021-07-13T14:32:01.350434 CCC from=<rob.roder@test.com>
2021-07-13T14:32:01.417904 DDD message-id=<1-2-3-a-a@A1>
2021-07-13T14:32:01.586494 DDD from=<Will.Smith@test.com>
2021-07-13T14:32:02.643101 DDD to=<Will.Smith@test.com>
2021-07-13T14:32:02.712803 AAA client=10.1.35.2
2021-07-13T14:32:03.832661 BBB client=2021:8bd::98e7:2e04:f94s
2021-07-13T14:32:03.920297 DDD status=sent
但是出现的问题是我需要匹配每行的 ID 以导出到如下所示的 JSON:
{
"time": {
"start": "2021-07-13T14:32:01.417904",
"duration": "0:00:02.502393"
},
"sessionid": "DDD",
"client": "10.4.35.4",
"messageid": "<1-2-3-a-a@A1>",
"address": {
"from": "<Will.Smith@test.com>",
"to": "<Will.Smith@test.com>"
},
"status": "sent"
}
]
下一步是将此数据导入仅接受 JSON 格式的分析工具。我已经用 powershell 和 python 尝试过这个,但离预期的输出还很远。 一路走来的问题: 如何按会话链接每一行? 如何计算第一个和最后一个会话持续时间? 如何链接每个会话的第 3 列结果以及如何将它们转换为 json?
非常感谢任何帮助、链接、研究等。
【问题讨论】:
-
请允许我给你一个标准的建议给新手:如果你accept 一个答案,你将帮助未来的读者,向他们展示解决了你的问题的方法。要接受答案,请单击答案左侧大数字下方的大 ✓ 符号(您将获得 2 点声望)。如果您至少有 15 个声望点,您还可以投票给其他有用的答案(也可以选择接受的答案)。如果您的问题尚未解决,请提供反馈,或者,如果您自己找到了解决方案,请self-answer。
标签: json powershell logging text-parsing