Skip to content

Commit ea76d15

Browse files
committed
ENH: Add a few new line formats
1 parent 55960a5 commit ea76d15

3 files changed

Lines changed: 23 additions & 2 deletions

File tree

diff-logs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ my @PATTERNS = (
99
[ qr/\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(?:[.,]\d+)?Z?/, '2111-11-11 11:11:11' ],
1010
[ qr/\w{3,}, \d{1,2} \w{3,} \d{4,4} \d{1,2}(?::\d{1,2}){2} [A-Z]{3}/, 'Thu, 11 Nov 2111 11:11:11 GMT' ],
1111
[ qr/\d{2}-\d{2}-\d{4} \d{2}(?::\d{2}){2}\.\d+/, '11-11-2111 11:11:11.111111' ],
12-
[ qr/[A-Z][a-z]{2} [ \d]\d \d{2}:\d{2}/, 'Nov 11 11:11' ], # `ls -l` format
12+
[ qr/[A-Z][a-z]{2} [ \d]\d \d{2}(:\d{2}){1,2}/, 'Nov 11 11:11' ], # `ls -l` / journalctl format
1313
# Other timestamp
1414
[ qr/\b\d+(?:\.\d+)?s(?:ec)?\b/, '1.1s' ],
1515
[ qr/\b(in|since) \d+\.\d+/, 'in 1.1' ],
16+
[ qr/^\[ *\d+\.\d+\] /, '[ 111.1] ' ], # dmesg output
1617
# File/download sizes
1718
[ qr/\d+(?:\.\d+)?(?:\/\d)? ?(?P<suffix>[kmg](?:i?b)?)\b/i, q["1 " . $+{suffix}] ],
1819
# TCP / HTTP
@@ -22,15 +23,21 @@ my @PATTERNS = (
2223
[ qr{\bW/(?<quote>\\?")[^"]*\k<quote>}, 'W/"ETag"' ], # ETag header
2324
# Common files
2425
[ qr{/tmp/[^\s/:"']{6,}(?:/[^\s/:"']+)*/?}, '/tmp/d1ff1065' ],
26+
# journald "process[pid]:"
27+
[ qr/(?<= )(?<process>[-\w]+)\[\d{3,}\]:/, q[$+{process} . "[11111]:"] ],
28+
[ qr/(?<= )\((?<process>[-\w ]+)\)\[\d{3,}\]:/, q[$+{process} . "[11111]:"] ],
2529
# Common tools
2630
[ qr/(?<step_no>(?:\s|\A)#\d+) \d+\.\d+/, q[$+{step_no} . " 1"] ], # Docker build steps
2731
# strace process PIDs
2832
[ qr/(?<prefix>(?:\b|_?)pid[ =])\d{4,}\b/, q[$+{prefix} . "11111"] ],
2933
[ qr/(?<prefix>strace: Process )\d+/, q[$+{prefix} . "111111"] ],
3034

31-
[ qr/(?:[\da-fA-F]{4,}-){4,}[\da-fA-F]{4,}/, 'd1ff1065-d1ff-1065-1007-d1ff1065' ],
35+
[ qr/(?:[\da-fA-F]{4,}-){4,}[\da-fA-F]{4,}/, 'd1ff1065-d1ff-1065-1007-d1ff1065' ], # UUID
3236
[ qr/[a-zA-Z0-9]{18,}/, 'AAAAAAAAAAAAAAAAAA' ], # Long payload
37+
[ qr/\d{3,}\.\d{1,16}/, '111.1' ], # Floating numbers
3338
[ qr/[a-fA-F0-9]{7,}/, 'd1ff1065' ], # Hash digest
39+
# Function pointer args, followed by bufsize, such as in strace
40+
[ qr/\b0x[a-f\d]+(, 0x[a-f\d]{4,})*(, \d{2,})?/, '0xd1ff1065' ],
3441
# Progress bar, e.g. in pip, tqdm
3542
[ qr{(?<indent>[ \t]*)(?: *(?:\[ *)?\d+%(?:])? *)?[[|]?[\x{2500}-\x{259F}=.\-]{5,} *[\]|]?(?: *(?:\[ *)?\d+%(?:])? *)?[(]?[\d.KMGB ]+/.*}, q[$+{indent} . "......."] ],
3643
);

tests/test.in.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,13 @@ dddddddd-dddd-dddd-dddd-dddddddd
5858
# Payload
5959
OS8xMSB3YXMgYW4gaW5zaWRlIGpvYgo
6060

61+
# Numbers
62+
555.3
63+
0xfade
64+
65+
# Function pointer args
66+
0xfade, 77
67+
6168
# Hash digest
6269
af09af09
6370
AF09AF09

tests/test.out.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,13 @@ d1ff1065-d1ff-1065-1007-d1ff1065
5858
# Payload
5959
d1ff1065
6060

61+
# Numbers
62+
111.1
63+
0xd1ff1065
64+
65+
# Function pointer args
66+
0xd1ff1065
67+
6168
# Hash digest
6269
d1ff1065
6370
d1ff1065

0 commit comments

Comments
 (0)