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.
