On Fri, 4 Apr 2025 21:42:39 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> One thing that happened recently (in the past 10 years or so) is that JSON >> became a frequently used format for logs. It's not perfect, but it's easy >> to parse. With that, json-oriented log viewers came. >> >> We don't have a consistent way to log data (or show data in `.toString()`). >> A good log viewer can pretty print an object in the log file, decode a hex- >> or base-64 encoded string, or even run a query on a log file. >> >> We are not ready for JSON logs, I admit, but this was the rationale behind >> the design of this class: >> >> - a low-level method that returns byte[] >> - a base-64 encoding method that allows for custom prefix/suffix to be able >> to do a data url or a json >> - a convenience method to use in tests >> >> Also, considering what you said about gradle and stderr, perhaps >> `writeScreenshot()` should always emit to stderr. > > Not a "good" log viewer, but to illustrate: > >  > We are not ready for JSON logs, I admit, but this was the rationale behind > the design of this class: > > * a low-level method that returns byte[] > * a base-64 encoding method that allows for custom prefix/suffix to be able > to do a data url or a json > * a convenience method to use in tests Are you saying that in a JSON image, you wouldn't have the `""data:image/png;base64,"` prefix? > Also, considering what you said about gradle and stderr, perhaps > `writeScreenshot()` should always emit to stderr. That seems reasonable. We can always add an overload that takes a PrintStream if needed later. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1746#discussion_r2029469689