RFR: 8273471: Add foldmultilines to UL for stdout/err
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Wed Sep 8 09:21:24 UTC 2021
We've introduced `foldmultilines` to UL in [JDK-8271186](https://bugs.openjdk.java.net/browse/JDK-8271186) (PR #4885 ) to replace newline characters within a multiline log event with the character sequence '' and 'n'. It helps to work log shippers.
`foldmultilines` supports file output only. It is useful if it affects to stdout/err output because many container applications would redirect logs to stdout.
`foldmultilines` will be enabled after option processing, so note that the log what happens before it isn't folded. AFAICS following logs might happen.
They are not practical concern because the log which happens before option processing is determinative and does not have newline char (at least now), so I think we can excuse they are not folded.
share/logging/logConfiguration.cpp:379: log_error(logging)("Missing terminating quote in -Xlog option '%s'", str);
share/logging/logConfiguration.cpp:397: log_warning(logging)("Ignoring excess -Xlog options: "%s"", str);
share/prims/jvmtiTrace.cpp:91: log_warning(arguments)("-XX:+TraceJVMTI specified, "
share/runtime/os.cpp:700: log_warning(malloc, free)("os::malloc caught, " SIZE_FORMAT " bytes --> " PTR_FORMAT, size, p2i(ptr));
share/runtime/os.cpp:752: log_warning(malloc, free)("os::realloc caught " PTR_FORMAT, p2i(memblock));
share/runtime/os.cpp:788: log_warning(malloc, free)("os::free caught " PTR_FORMAT, p2i(memblock));
I checked them with `$ grep -nrE '(warning|error)' * | grep -i log | grep -vwE '(cds|gc|safepoint|thread|codecache|symboltable|stringtable|jfr|jvmti|jni|container|pagesize|metaspace|exceptions|nmt|attach|class|handshake|monitorinflation)' | grep -vwE '(log_info|log_debug)'`
In addition, we might see following logs which relate to UL:
[0.000s][error][logging] Error opening log file '/all-info.log': Permission denied
[0.000s][error][logging] Invalid tag 'aaa' in log selection.
[0.000s][error][logging] Invalid level 'aaa' in log selection.
[0.012s][error][logging] Invalid option 'aaa' for log output (file=all-info.log).
[0.021s][error][logging] Unable to log to file all-info.log with log file rotation: all-info.log is not a regular file
[0.012s][error][logging] Initialization of output 'file=all-info.log' using options 'aaa=bbb' failed.
-------------
Commit messages:
- 8273471: Add foldmultilines to UL for stdout/err
Changes: https://git.openjdk.java.net/jdk/pull/5407/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5407&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273471
Stats: 76 lines in 3 files changed: 50 ins; 8 del; 18 mod
Patch: https://git.openjdk.java.net/jdk/pull/5407.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5407/head:pull/5407
PR: https://git.openjdk.java.net/jdk/pull/5407
More information about the hotspot-runtime-dev
mailing list