RFR: 8273104: Refactoring option parser for UL
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Sun Aug 29 04:07:36 UTC 2021
As we discussed in PR #4885 and in [its CSR](https://bugs.openjdk.java.net/browse/JDK-8271188), we want to introduce `foldmultilines` to stdout/err UL output. However we have no chance to configure `LogOutput` for stdout/err (`LogStdoutOutput`/`LogStderrOutput`) becasuse they will be instantiated statically in logFileStreamOutput.cpp.
So we need to refactor UL option parser to propagate options to all extended classes of `LogOutput`.
* Move `parse_option()` to `LogOutput` from `LogFileOutput`, then it becames public member.
* Introduce `set_option()` in `LogOutput` as a pure virtual member to apply options to each log output, then it is implemented in both `LogFileStreamOutput` and `LogFileOutput`.
* Move both `FoldMultilinesOptionKey` and `_fold_mulilines` in `LogFileStreamOutput` to private member because they are no longer to need to be public.
I want to send PR to introduce `foldmultilines` to stdout/err like https://github.com/YaSuenag/jdk/compare/ul-refactoring...YaSuenag:foldmultilines-for-stdout after this.
-------------
Commit messages:
- Update success flag if filesize overflows
- Fix gtest failure
- refactoring
Changes: https://git.openjdk.java.net/jdk/pull/5293/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5293&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273104
Stats: 126 lines in 7 files changed: 65 ins; 45 del; 16 mod
Patch: https://git.openjdk.java.net/jdk/pull/5293.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5293/head:pull/5293
PR: https://git.openjdk.java.net/jdk/pull/5293
More information about the hotspot-runtime-dev
mailing list