Skip to content

Warning message is logged only if isDebugEnabled in AbstractLifeCycle. Is it wanted? #15514

Description

@stefano-1973

Jetty version(s)
For every Jetty 12.x, the AbstractLifeCycle class has this piece of code:

 private void setFailed(Throwable th)
    {
        _state = State.FAILED;
        if (LOG.isDebugEnabled())
            LOG.warn("FAILED {}: {}", this, th, th);
........................

Isn't it an incongruence that the Warning message is logged only if isDebugEnabled()?
As an example, if the password of https certificate keystore has an error, in the log there is not the cause of Jetty not starting. Only if the log level is DEBUG the WARN log message is present:

......... 11:36:43.729 | WARN  | AbstractLifeCycle             :main            | FAILED oejs.Server@20435c40{FAILED}[12.1.8,sto=5000]: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
	at java.base/sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:813)
	at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:242)
	at java.base/java.security.KeyStore.load(KeyStore.java:1473)
	at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:51)
	at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:1157)
	at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:301)
	at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:222)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
	at org.eclipse.jetty.server.Server.start(Server.java:689)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
	at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
	at org.eclipse.jetty.server.Server.doStart(Server.java:630)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:2134)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:312)
	at org.eclipse.jetty.start.Main.start(Main.java:603)
	at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
	at java.base/sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:811)
	... 21 common frames omitted

Enhancement Description

Let the warn message be printed also with a Logger with WARN or INFO level, at least without the stacktrace

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions