Yes you are right but the stack walker could be used even if you do not control to source for main. Maybe a script calls a main and then my app plugin gets called and I want to also follow the verbose command line setting.
Gary <div>-------- Original message --------</div><div>From: Ralph Goers <ralph.go...@dslextreme.com> </div><div>Date:08/06/2014 19:18 (GMT-05:00) </div><div>To: Log4J Users List <log4j-user@logging.apache.org> </div><div>Subject: Re: Set the file name based on command line args </div><div> </div>Wouldn’t it be easier to have a Lookup that your main called and just passed the arguments? But yeah, it should be possible to do what you are suggesting. Ralph On Aug 6, 2014, at 4:09 PM, Gary Gregory <garydgreg...@gmail.com> wrote: > I wonder if we could write a "MainArgumentsLookup" that finds the main > thread and walks up the stack to the public static main(String[]) main > methods and gets the arguments from the stack... > > Gary > > > On Wed, Aug 6, 2014 at 6:54 PM, Ralph Goers <ralph.go...@dslextreme.com> > wrote: > >> Well…. >> >> You would really be passing the name of the file to the Appender, not a >> Logger. Loggers only reference Appenders so you can’t really configure >> them with Appender configuration data. That said, Log4j 2 provides a few >> ways you could do this: >> 1. Set a system property and reference it via ${sys:propertyName} in the >> configuration. The manual has examples of this. >> 2. Create a custom Lookup Plugin and then register the file name with the >> Lookup. Then reference it from the configuration as ${myLookup: key} >> where myLookup is the name of your custom Lookup and key is the name that >> represents the file name value. >> 3. Create a custom Configuration the extends XMLConfiguration or >> JSONConfiguration. Pass the file name to that class and have it add that as >> a property to the properties Map in the configuration. The XML could then >> just reference it as ${propertyName}. >> >> Ralph >> >> On Aug 6, 2014, at 2:03 PM, Arwen Pond <ap...@book.com> wrote: >> >>> My application takes a parameter where the user can specify the log >> file. I'd like to pass this parameter to the Logger which uses a >> FileAppender. I am not sure how to do this in log4j 2. >>> >>> Thanks, >>> Arwen >>> >>> >>> This electronic mail message contains information that (a) is or >>> may be CONFIDENTIAL, PROPRIETARY IN NATURE, OR OTHERWISE >>> PROTECTED >>> BY LAW FROM DISCLOSURE, and (b) is intended only for the use of >>> the addressee(s) named herein. If you are not an intended >>> recipient, please contact the sender immediately and take the >>> steps necessary to delete the message completely from your >>> computer system. >>> >>> Not Intended as a Substitute for a Writing: Notwithstanding the >>> Uniform Electronic Transaction Act or any other law of similar >>> effect, absent an express statement to the contrary, this e-mail >>> message, its contents, and any attachments hereto are not >>> intended >>> to represent an offer or acceptance to enter into a contract and >>> are not otherwise intended to bind this sender, >>> barnesandnoble.com >>> llc, barnesandnoble.com inc. or any other person or entity. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >> For additional commands, e-mail: log4j-user-h...@logging.apache.org >> >> > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org