The javadoc doesn't tell the full story here, which is that the current method 
searches the classpath next if the specified file doesn't exist. I guess it 
returns null after exhausting all options. 

Gary wants a way to stop in the middle. 

Sent from my iPhone

> On Apr 12, 2017, at 17:53, Mikael Ståldal <[email protected]> wrote:
> 
> 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