On Fri, 1 Mar 2024 15:13:49 GMT, Sean Coffey <coff...@openjdk.org> wrote:
> Proposal to improve the `java.security.debug` output so that options exist to > add thread ID, thread name, source of log record and a timestamp information > to the output. > > examples: > format without patch : > > > properties: Initial security property: > package.definition=sun.misc.,sun.reflect. > properties: Initial security property: krb5.kdc.bad.policy=tryLast > keystore: Creating a new keystore in PKCS12 format > > > format with thread info included: > > > properties[10|main|Security.java:122]: Initial security property: > package.definition=sun.misc.,sun.reflect. > properties[10|main|Security.java:122]: Initial security property: > krb5.kdc.bad.policy=tryLast > keystore[10|main|KeyStoreDelegator.java:216]: Creating a new keystore in > PKCS12 format > > > format with thread info and timestamp: > > > properties[10|main|Security.java:122|2024-03-01 14:59:42.859 UTC]: Initial > security property: package.definition=sun.misc.,sun.reflect. > properties[10|main|Security.java:122|2024-03-01 14:59:42.859 UTC]: Initial > security property: krb5.kdc.bad.policy=tryLast > > > It's a similar format to what can be seen when the TLS (javax.net.debug) > debug logging option is in use > > current proposal is to keep the thread and timestamp information off (make it > opt in) > > The extra decorator info is controlled by appending option to each component > specified in the `"java.security.debug"` option list. > > e.g > > `-Djava.security.debug=properties+timestamp+thread` turns on logging for the > `properties` component and also decorates the records with timestamp and > thread info > > -Djava.security.debug=properties+thread+timestamp,keystore would decorate the > `properties` component but no decorating performed for the `keystore > `component. src/java.base/share/classes/sun/security/util/Debug.java line 211: > 209: public void println() > 210: { > 211: System.err.println(prefix + ":"); While we are her we could switch to Platfom logger, that also removes the need for timestamps (and thread info) src/java.base/share/classes/sun/security/util/Debug.java line 304: > 302: } > 303: > 304: // copied from sun/security/ssl/Utilities.java for now Why own helper, string.format(%x) can build the whole string or call Long.toHexString() or toString(,16)? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/18084#discussion_r1514838307 PR Review Comment: https://git.openjdk.org/jdk/pull/18084#discussion_r1514825407