【发布时间】:2018-02-14 06:46:15
【问题描述】:
我有一个 Java 日志文件,并想使用 awk 对其进行转换。该文件具有以下记录结构:
filename:date time [level] (thread) message
这是一个示例行:
2018-01-19-19.prod.com.gz:2018-01-19 19:14:29,964 [INFO] (Runner for {AccountId: ‘1234’, JobFlowId: ‘abcd’, TaskId: ‘4321’, Type: ‘TestType’}) com.damluar.AbstractObjectCache: Found unexpired object in local cache for key: testkey
生成的文件需要有字段并且有 \t 作为分隔符:
- 数据+时间(已排序)
- 级别
- 线程
- 留言
如果我使用空格或: 作为分隔符,那么thread 和message 字段的内容也会被拆分。处理它的最佳方法是什么?
【问题讨论】:
-
你至少应该给出一些你的日志作为例子,你怎么看?
-
线程字段会包含(嵌套(括号))吗?
-
我发布了一个例子。不,线程不应该有嵌套的括号。
-
以格式化的方式发布结果文件的片段。结果文件中应该使用什么字段分隔符?
-
tabs 应该是一个分隔符,这样我就可以把它当成 csv 文件了