RFR: 8271186: Add UL option to replace newline char
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Fri Jul 23 08:54:23 UTC 2021
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 newline to replace `\n` to other chars. For example, the user specifies `newline=\\n` to UL output, newline char (`\n`) will replace `\\n`.
After this patch, we can get following logs with `newline=\\n`:
[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.
-------------
Commit messages:
- add inclusion of os.hpp
- 8271186: Add UL option to replace newline char
Changes: https://git.openjdk.java.net/jdk/pull/4885/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4885&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8271186
Stats: 82 lines in 4 files changed: 74 ins; 0 del; 8 mod
Patch: https://git.openjdk.java.net/jdk/pull/4885.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/4885/head:pull/4885
PR: https://git.openjdk.java.net/jdk/pull/4885
More information about the hotspot-runtime-dev
mailing list