Given that the Javadoc since 1,5 years ago says:

@return The LoggerContext or null if an error occurred (check the status
logger)

I think it would be fine to return null if the given file is not found.

On Wed, Apr 12, 2017 at 10:40 AM, Gary Gregory <[email protected]>
wrote:

> 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=31ecd1f6b6d1eaf8886ac902a24de4
> 18%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=31ecd1f6b6d1eaf8886ac902a24de4
> 18%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
>



-- 
[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.

Reply via email to