RFR: 8301627: System.exit and Runtime.exit debug logging [v2]

Alan Bateman alanb at openjdk.org
Tue Feb 14 07:47:43 UTC 2023


On Mon, 13 Feb 2023 10:57:35 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/Shutdown.java line 162:
>> 
>>> 160:      * If the system logger {@code java.lang.Runtime} is enabled for logging level DEBUG/FINE
>>> 161:      * the stack trace of the call to {@code Runtime.exit()} or {@code System.exit()}
>>> 162:      * is logged.
>> 
>> Shutdown is not a public class so this impNote won't appear in the APIs docs. Should it move to Runtime.exit and System.exit?  If it moved to a public API then "system logger" could link to System.Logger. Also would it be more correct to say "a system logger named "java.lang.Runtime" is enabled for logging level DEBUG"?
>
> FINE is not a level supported by the System.Logger, it is the level to which DEBUG is mapped when the backend is java.util.logging. I suggest to remove FINE from this description and add an `{@link Loger.Level#DEBUG DEBUG}` around DEBUG.

Roger has updated this but it's still a comment on a non-public class. I think the main question here is whether there should be a note in the System.exit and Runtime.exit to document that these methods log? If not, will it be documented anywhere, maybe a troubleshooting guide to help track down what/who is calling System.exit?

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

PR: https://git.openjdk.org/jdk/pull/12517


More information about the core-libs-dev mailing list