Integrated: 8271186: Add UL option to replace newline char
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Fri Aug 27 05:10:34 UTC 2021
On Fri, 23 Jul 2021 04:09:29 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
> Most of UL entries would print log in one line, however some categories (e.g. `exceptions`) have multiline entries as following:
>
>
> [0.157s][info][exceptions] Exception <a 'java/lang/NullPointerException'{0x000000008b918f70}: test>
> thrown in interpreter method <{method} {0x00007f8335000248} 'main' '([Ljava/lang/String;)V' in 'Test'>
> at bci 9 for thread 0x00007f8330017160 (main)
>
>
> It is ease to parse with log shipper (Fluent Bit, Logstash, and more) if UL can print all logs in one line.
> Famous log shippers support multiline logs of course, but its configuration tends to be complex, and also some input plugins (e.g. TCP on Fluent Bit) do not support multiline logs.
>
> So I want to introduce new UL option `foldmultilines` to replace all of newline char (`\n`) in the log entry will be replaced to 2 chars `\\n`. In addition, all of backslashes (`\` in C) are also replaced to 2 chars `\\\`.
>
> After this patch, we can get following logs with `foldmultilines=true`:
>
>
> [0.166s][info][exceptions] Exception <a 'java/lang/NullPointerException'{0x000000008b918f70}: test>\n thrown in interpreter method <{method} {0x00007fbc81000248} 'main' '([Ljava/lang/String;)V' in 'Test'>\n at bci 9 for thread 0x00007fbc9c0171a0 (main)
>
>
> I've also filed [CSR](https://bugs.openjdk.java.net/browse/JDK-8271188) for this issue, please review it.
This pull request has now been integrated.
Changeset: b16a04eb
Author: Yasumasa Suenaga <ysuenaga at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/b16a04ebf749a93d89fb51b96baceff36fe1d730
Stats: 168 lines in 6 files changed: 154 ins; 0 del; 14 mod
8271186: Add UL option to replace newline char
Reviewed-by: iklam, dholmes
-------------
PR: https://git.openjdk.java.net/jdk/pull/4885
More information about the hotspot-runtime-dev
mailing list