首页 > 解决方案 > 使用时间范围在多个日志文件中搜索时间戳,但我有大量数据。那么,如何快速提取日志?

问题描述

我想访问旧的日志文件进行调试,但我有非常大的数据(300TB),每个日志文件为 19GB。使用时间范围,我必须使用时间戳提取日志。那么,如何快速提取日志,甚至必须将其打印到控制台?

每个日志文件都是以时间戳开头的单行文本。

2020-01-31T20:12:37.1234Z, Some Field, Other Field, And so on
2020-01-31T20:12:37.1235Z, Some Field, Other Field, And so on
2020-01-31T20:12:37.1236Z, Some Field, Other Field, And so on
2020-01-31T20:12:37.1237Z, Some Field, Other Field, And so on

标签: database

解决方案


您可以使用 powershell 在行首获取包含特定时间戳的行。如果要将结果导出到 csv,可以利用 Export-CSV 选项。否则,输出将被发送到控制台。

set-location "LogFolder" 
Get-ChildItem -Recurse -File | `
Select-String  -Pattern "^Timestamp" | `
Select path, LineNumber, Line `
#| Export-Csv C:\OutputFolder\TimestampPresence_InLog.csv -NoTypeInformation

推荐阅读