Files
krowlog/testbed/example.log
Andreas Huber 61132d242f fix: graphemes are not correctly highlighted
Graphemes don't all have the same width, not even when you use a monospace font.
For latin characters it usually works find to assume the same width. But emojis,
japanese or chinese characters have have different width. There are even some
ultra wide characters like 𒐫 or ﷽. There is also a thing
called 'half-width' character. E.g. the japanese 'a' can be ア or ア.

Fixed by actually computing the width of graphemes and using pixel.
2025-03-24 17:49:27 +01:00

180 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
01234
01234567890123456789
012345678901234567890123456789012345678901234567890123456789
tab indentation:
1 2 3 4 5
- 1-- 2-- 3- 4---5
--------1-------1-------1-------1-------1
mmmmmmmm1mmmmmmm1mmmmmmm1mmmmmmm1mmmmmmm1
1 1 1 1 1
........1.......1.......1.......1.......1
1
0123456789012345678901234567890123456789
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
...............................|
|
ääääääääääääää♥ääääääääääääääää|
nonspacing marks:
next line consists of a%CC%88
äääääääääääääääääääääääääääääää|
Combining Double Circumflex Above: “◌᷍◌” (U+1DCD)
x◌᷍◌◌᷍◌x
Control characters:

------------------------------
wide and half width characters:
123456789
アンドレアス
アンドレアス アンドレアス アンドレアス アンドレアス アンドレアス アンドレアス アンドレアス
アンドレアス
canadian aboriginal:
ᑭᓇᑐᐃᓐᓇᑦᑎᐊᖅᒥᒃ
simplified chinese:
任何人不得使为奴隶或奴
Thai:
ทุกคนมีสิทธิที่จะได้
Nastaliq Urdu (rl):
چونکہ یہ تمام
Braille:
⠑⠧⠑⠗⠽⠕⠝⠑
Arabic (rl):
ولما كانت
------------------------------
👍🏿 dark thumbs up (U+1F44D + U+1F3FF - THUMBS UP SIGN + EMOJI MODIFIER FITZPATRICK TYPE-6)
ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------ä---------ä----------<
2019-08-07 00:00:10,391 [catalina-exec-40] INFO c.r.c.u.l.PerformancePointcut - Executed HealthCheckController.checkOperativeness in 1 ms successful. [jv3fw7r2.m1u5]
2019-08-07 00:00:16,377 [catalina-exec-56] INFO c.r.c.u.l.PerformancePointcut - Executed HealthCheckController.checkOperativeness in 1 ms successful. [jv3fw7r2.m1u6]
2019-08-07 00:00:40,403 [catalina-exec-26] ERROR c.r.c.u.l.PerformancePointcut - Executed HealthCheckController.checkOperativeness in 1 ms successful. [jv3fw7r2.m1ud]
2019-08-07 00:02:10,598 [catalina-exec-16] INFO c.r.c.u.l.PerformancePointcut - Executed SecurityController.loginIndex in 0 ms successful. [jv3fw7r2.m1uf]
2019-08-07 00:02:16,467 [catalina-exec-36] INFO c.r.c.u.l.PerformancePointcut - Executed HealthCheckController.checkOperativeness in 1 ms successful. [jv3fw7r2.m1ug]
2019-08-07 00:02:23,519 [catalina-exec-53] ERROR c.r.c.u.l.PerformancePointcut - Executed AuthenticationProvider.authenticate in 224 ms successful. [jv3fw7r2.m1uh]
2019-08-07 00:02:24,195 [catalina-exec-43] WARN c.r.c.u.l.PerformancePointcut - Executed SecurityController.accessDenied in 0 ms successful. [jv3fw7r2.m1uj]
2019-08-07 00:02:24,937 [catalina-exec-74] WARN c.r.c.u.l.PerformancePointcut - Executed RedirectController.redirect in 1159 ms successful. [jv3fw7r2.m1ui]
2019-08-07 00:02:25,674 [catalina-exec-29] INFO c.r.c.u.l.PerformancePointcut - Executed AssignmentsController.index in 683 ms successful. [jv3fw7r2.m1uk]
2019-08-07 00:02:26,825 [catalina-exec-20] INFO c.r.c.u.l.PerformancePointcut - Executed I18NController.getI18NKeyValues in 1 ms successful. [jv3fw7r2.m1ul]
2018-09-06T00:00:16.381Z,0,vapfacbk01,HealthCheckService.isOperable,AXC_5.14_526,,successful
2018-09-06T00:00:18.096Z,0,vapfacbk01,HealthCheckService.isOperable,AXC_5.14_526,,successful
2018-09-06T00:00:27.114Z,64,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.115Z,66,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.130Z,11,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.131Z,12,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.133Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.182Z,9,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.183Z,10,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.185Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.256Z,15,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.257Z,16,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.259Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.295Z,49,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.307Z,61,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.309Z,9,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.310Z,11,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.312Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.317Z,6,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.318Z,7,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.354Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.355Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.357Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.402Z,7,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.402Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.404Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.447Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.448Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.450Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.495Z,9,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.496Z,10,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.498Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.543Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.544Z,10,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.545Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.591Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.591Z,8,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.593Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.637Z,9,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.637Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.639Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.683Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.683Z,8,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.685Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.728Z,9,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.729Z,10,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.730Z,1,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:27.774Z,8,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:27.775Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:27.777Z,2,vapfacbk01,ApplicationLockService.isLocked,AXC_5.14_526,,successful
2018-09-06T00:00:30.317Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.319Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.353Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.355Z,1,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.394Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.397Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.439Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.441Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.450Z,5,vapfacbk01,ViewService.getFieldViews,AXC_5.14_526,,successful
2018-09-06T00:00:30.485Z,35,vapfacbk01,ViewService.getFieldViews,AXC_5.14_526,,successful
2018-09-06T00:00:30.502Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.504Z,1,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.550Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.552Z,1,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.596Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.598Z,1,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.640Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.642Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.682Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.684Z,1,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.721Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.723Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.750Z,5,vapfacbk01,ViewService.getFieldViews,AXC_5.14_526,,successful
2018-09-06T00:00:30.761Z,11,vapfacbk01,ViewService.getFieldViews,AXC_5.14_526,,successful
2018-09-06T00:00:30.764Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.766Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.806Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.808Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.864Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.866Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.906Z,7,vapfacbk01,MatterApplicationService.search,AXC_5.14_526,,successful
2018-09-06T00:00:30.908Z,9,vapfacbk01,CollectionService.getApplications,AXC_5.14_526,,successful
2018-09-06T00:00:30.933Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.935Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:30.974Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:30.976Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.032Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.034Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.078Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.081Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.113Z,1,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.115Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.147Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.149Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.180Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.182Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.222Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.224Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.266Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.268Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
2018-09-06T00:00:31.309Z,2,vapfacbk01,ApplicationLockService.getLocks,AXC_5.14_526,,successful
2018-09-06T00:00:31.311Z,2,vapfacbk01,ApplicationStateService.getState,AXC_5.14_526,,successful
---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10
---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10---------1---------2---------3---------4---------5---------6---------7---------8---------9--------10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19