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.
