database - 使用时间范围在多个日志文件中搜索时间戳,但我有大量数据。那么,如何快速提取日志?
问题描述
我想访问旧的日志文件进行调试,但我有非常大的数据(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
解决方案
您可以使用 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
推荐阅读
- flutter - Flutter:无法让 StreamProvider 故意产生空值
- python - 通过列数据框制作字典,而不是删除相等的键
- python - 过滤数据框中的分钟数据
- python - 有没有办法防止使用openpyxl选择和复制excel表格单元格?
- java - 我正在尝试获取包中所有类的列表,但是 searchResult.getClasses(); 需要论证
- html - 如何去除div css中的黑色背景
- java - 防止 StackPanel 退出屏幕
- java - 为什么我使用“readAllBytes”方法的简单 Java 客户端/服务器示例程序挂起?
- python - lifelines/scikit-survival:计算预期时间
- python-3.x - 如何在 Bokeh 中阅读 POST 参数