On Wed, Apr 12, 2017 at 1:31 AM, Remko Popma <[email protected]> wrote:

> I'd avoid changing the semantics of existing methods.  I also favor 3.
> (initializeStrict?)
>

Not a great method name but I am hard-pressed to come up with a better name:

- initializeStrict
- initializeChecked
- initializeValidate
- initializeValid
- initializeVerify
- initializeIfFound
- initializeCleanly

?

Gary


>
> Sent from my iPhone
>
> > On Apr 12, 2017, at 15:00, Matt Sicker <[email protected]> wrote:
> >
> > This is a nice showcase for an Either data type similar to Optional, but
> > with a value or an error.
> >
> >> On 12 April 2017 at 00:41, Gary Gregory <[email protected]> wrote:
> >>
> >> The problem with the API as it is now is that I have no idea if the API
> >> did what I asked it to do. It does initialize log4j all right but not
> in a
> >> way I expect.
> >>
> >> I see that we could:
> >>
> >> 1) make the current API throw an IllegalArgumentException that means
> "file
> >> not found", this keeps the API signature the same.
> >> 2) make the current API return null (but should it still initialize
> log4j
> >> with the 'next' config file it finds?). Not great as this would likely
> >> break some apps.
> >> 3) add a new API that throws an exception that means 'config file not
> >> found'
> >> 4) add a new API that returns null
> >>
> >> The nice thing about throwing an exception is that you can give a
> detailed
> >> error message. Returning null tells you something is wrong, not what,
> still
> >> a mystery.
> >>
> >> So I prefer 3).
> >>
> >> Regardless, we need some better Javadocs on the existing APIs... the
> >> behavior is just too surprising IMO.
> >>
> >> Thoughts?
> >>
> >> Gary
> >>
> >>
> >>
> >> On Tue, Apr 11, 2017 at 10:01 PM, Ralph Goers <
> [email protected]>
> >> wrote:
> >>
> >>> That’s a good point. It is a programmatic interface so it should return
> >>> an error. But generally we want logging to do something reasonable
> other
> >>> than fail, so it should either use whatever configuration it finds or
> use
> >>> the default.
> >>>
> >>> Ralph
> >>>
> >>> On Apr 11, 2017, at 8:42 PM, Remko Popma <[email protected]>
> wrote:
> >>>
> >>> I thought Gary needed a way to detect that the specified location
> didn't
> >>> work. But perhaps a warning message is sufficient.
> >>>
> >>> Sent from my iPhone
> >>>
> >>> On Apr 12, 2017, at 10:05, Ralph Goers <[email protected]>
> >>> wrote:
> >>>
> >>> I'd prefer an error message but then have it continue with the current
> >>> behavior.
> >>>
> >>> Sent from my iPhone
> >>>
> >>> On Apr 11, 2017, at 5:47 PM, Remko Popma <[email protected]>
> wrote:
> >>>
> >>> I can see both sides of the argument.
> >>>
> >>> Rather than changing the semantics of the existing method, what about
> >>> adding a method `Configurator.initializeStrict(String, String)` which
> >>> fails if the specified file doesn't exist? Not sure what the best way
> to
> >>> fail is: return null or throw exception...
> >>>
> >>> Sent from my iPhone
> >>>
> >>> On Apr 12, 2017, at 9:13, Gary Gregory <[email protected]> wrote:
> >>>
> >>> Hi All:
> >>>
> >>> Using 2.8.2, I call org.apache.logging.log4j.
> >>> core.config.Configurator.initialize(String, String) with a non-exiting
> >>> file location.
> >>>
> >>> The method does not return null because it found another log4j2.xml
> file
> >>> on my classpath. So I get a LoggerContext but not what I expect...
> >>>
> >>> That does not sound right to me, it should return null, and then I can
> >>> look in the status logger to see what went wrong (if I happen to have
> it
> >>> set to DEBUG in the log4j2.xml file it did find.)
> >>>
> >>> Thoughts?
> >>>
> >>> Gary
> >>>
> >>> --
> >>> E-Mail: [email protected] | [email protected]
> >>> Java Persistence with Hibernate, Second Edition
> >>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>>
> >>> <http://ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> am2&o=1&a=1617290459>
> >>> JUnit in Action, Second Edition
> >>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>>
> >>> <http://ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> am2&o=1&a=1935182021>
> >>> Spring Batch in Action
> >>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>> <http://ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> am2&o=1&a=1935182951>
> >>> Blog: http://garygregory.wordpress.com
> >>> Home: http://garygregory.com/
> >>> Tweet! http://twitter.com/GaryGregory
> >>>
> >>>
> >>>
> >>
> >>
> >> --
> >> E-Mail: [email protected] | [email protected]
> >> Java Persistence with Hibernate, Second Edition
> >> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> >> JUnit in Action, Second Edition
> >> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> >> Spring Batch in Action
> >> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> >> Blog: http://garygregory.wordpress.com
> >> Home: http://garygregory.com/
> >> Tweet! http://twitter.com/GaryGregory
> >>
> >
> >
> >
> > --
> > Matt Sicker <[email protected]>
> >
> >
> >
> > --
> > Matt Sicker <[email protected]>
>



-- 
E-Mail: [email protected] | [email protected]
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to