RFR: 8273471: Add foldmultilines to UL for stdout/err [v6]

Yasumasa Suenaga ysuenaga at openjdk.java.net
Fri Sep 10 12:17:41 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.

Yasumasa Suenaga has updated the pull request incrementally with two additional commits since the last revision:

 - Add comments about parse_options() call
 - Fix GTest failure

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5407/files
  - new: https://git.openjdk.java.net/jdk/pull/5407/files/68d113f5..97c924d3

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5407&range=05
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5407&range=04-05

  Stats: 16 lines in 3 files changed: 14 ins; 0 del; 2 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