The problem is that users see an exception in their log and panic. I've
seen this time and time again. Nothing is wrong with the app; the logging
or another component is misconfigured is all. The component tells you
something is wrong and the app continues normally. Usually.

I'm not sure how to address this aside from a less alarming message, maybe
adding something like "Log4j will continue without this setting".

Gary

On May 3, 2017 12:54 PM, "Matt Sicker" <[email protected]> wrote:

Exactly what Ralph said. The established pattern we have right now is
StatusLogger.error, return null. Who wants their logging framework blowing
up their application anyways? ;)

On 3 May 2017 at 10:41, Ralph Goers <[email protected]> wrote:

> Generally, I would log the error to the status logger and then cause the
> factory/builder for the component to return null.
>
> Ralph
>
> > On May 3, 2017, at 7:52 AM, Mikael Ståldal <[email protected]>
> wrote:
> >
> > The main problem I have is that I get two ERROR messages for one
problem.
> >
> > On Wed, May 3, 2017 at 4:50 PM, Gary Gregory <[email protected]>
> wrote:
> >
> >> As I am experiencing now in a different stack, too much is better than
> too
> >> little ;-)
> >>
> >> Are you thinking that the stack traces make it overwhelming? Or the
> >> messages not clear enough?
> >>
> >> Gary
> >>
> >> On May 3, 2017 3:23 AM, "Mikael Ståldal" <[email protected]>
> >> wrote:
> >>
> >> What is an appender supposed to do when it cannot be created due to the
> >> supplied configuration being invalid?
> >>
> >> I tried to throw IllegalArgumentException and ConfigurationException,
> but
> >> in both cases I get a bit too much error logging:
> >>
> >> 2017-05-03 12:17:36,757 main ERROR Unable to inject fields into builder
> >> class for plugin type class
> >> org.apache.logging.log4j.core.appender.HttpAppender, element Http.
> >> org.apache.logging.log4j.core.config.ConfigurationException:
> >> java.net.MalformedURLException: unknown protocol: htt
> >> at
> >> org.apache.logging.log4j.core.appender.HttpManager.<init>(
> >> HttpManager.java:44)
> >> at
> >> org.apache.logging.log4j.core.appender.HttpAppender$Builder.
> >> build(HttpAppender.java:61)
> >> at
> >> org.apache.logging.log4j.core.appender.HttpAppender$Builder.
> >> build(HttpAppender.java:46)
> >> at
> >> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(
> >> PluginBuilder.java:122)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createPluginObject(AbstractConfiguration.java:952)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createConfiguration(AbstractConfiguration.java:892)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createConfiguration(AbstractConfiguration.java:884)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(
> >> AbstractConfiguration.java:508)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(
> >> AbstractConfiguration.java:232)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> start(AbstractConfiguration.java:244)
> >> at
> >> org.apache.logging.log4j.core.LoggerContext.setConfiguration(
> >> LoggerContext.java:545)
> >> at org.apache.logging.log4j.core.LoggerContext.start(
> >> LoggerContext.java:261)
> >> at
> >> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(
> >> Log4jContextFactory.java:239)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:158)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:131)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:101)
> >> Caused by: java.net.MalformedURLException: unknown protocol: htt
> >> at java.base/java.net.URL.<init>(URL.java:634)
> >> at java.base/java.net.URL.<init>(URL.java:523)
> >> at java.base/java.net.URL.<init>(URL.java:470)
> >> at
> >> org.apache.logging.log4j.core.appender.HttpManager.<init>(
> >> HttpManager.java:42)
> >> ... 31 more
> >>
> >> 2017-05-03 12:17:36,764 main ERROR Unable to invoke factory method in
> class
> >> class org.apache.logging.log4j.core.appender.HttpAppender for element
> >> Http.
> >> java.lang.IllegalStateException: No factory method found for class
> >> org.apache.logging.log4j.core.appender.HttpAppender
> >> at
> >> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.
> >> findFactoryMethod(PluginBuilder.java:224)
> >> at
> >> org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(
> >> PluginBuilder.java:130)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createPluginObject(AbstractConfiguration.java:952)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createConfiguration(AbstractConfiguration.java:892)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> createConfiguration(AbstractConfiguration.java:884)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(
> >> AbstractConfiguration.java:508)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(
> >> AbstractConfiguration.java:232)
> >> at
> >> org.apache.logging.log4j.core.config.AbstractConfiguration.
> >> start(AbstractConfiguration.java:244)
> >> at
> >> org.apache.logging.log4j.core.LoggerContext.setConfiguration(
> >> LoggerContext.java:545)
> >> at org.apache.logging.log4j.core.LoggerContext.start(
> >> LoggerContext.java:261)
> >> at
> >> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(
> >> Log4jContextFactory.java:239)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:158)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:131)
> >> at
> >> org.apache.logging.log4j.core.config.Configurator.
> >> initialize(Configurator.java:101)
> >>
> >>
> >> --
> >> [image: MagineTV]
> >>
> >> *Mikael Ståldal*
> >> Senior software developer
> >>
> >> *Magine TV*
> >> [email protected]
> >> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
> >>
> >> Privileged and/or Confidential Information may be contained in this
> >> message. If you are not the addressee indicated in this message
> >> (or responsible for delivery of the message to such a person), you may
> not
> >> copy or deliver this message to anyone. In such case,
> >> you should destroy this message and kindly notify the sender by reply
> >> email.
> >>
> >
> >
> >
> > --
> > [image: MagineTV]
> >
> > *Mikael Ståldal*
> > Senior software developer
> >
> > *Magine TV*
> > [email protected]
> > Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
> >
> > Privileged and/or Confidential Information may be contained in this
> > message. If you are not the addressee indicated in this message
> > (or responsible for delivery of the message to such a person), you may
> not
> > copy or deliver this message to anyone. In such case,
> > you should destroy this message and kindly notify the sender by reply
> > email.
>
>
>


--
Matt Sicker <[email protected]>

Reply via email to