logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: Set the file name based on command line args
Date Sat, 09 Aug 2014 02:09:58 GMT
Here's an idea for an addition to 2.1: use this?
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html


On 8 August 2014 20:54, Remko Popma <remko.popma@gmail.com> wrote:

>
> > On 2014/08/09, at 10:36, Gary Gregory <garydgregory@gmail.com> wrote:
> >
> >> On Fri, Aug 8, 2014 at 9:19 PM, Remko Popma <remko.popma@gmail.com>
> wrote:
> >>
> >> It would have been nice to have a fully automatic solution, and it's too
> >> bad that the JMX idea doesn't work, but bringing in new dependencies for
> >> this seems a bit overkill to me...
> >
> > Well, the JMX works to pickup JVM arguments but not main arguments. I do
> > not know if that is useful though. So I won't include it for a first cut.
> >
> >
> >>
> >> I actually think Gary's solution to ask the user to add one line of code
> >> will be hard to beat for simplicity and ease of use.
> >
> > Yes, simple is nice and it is very little code.
> >
> > Should this go in now for 2.0.2 or wait for 2.1?
>
> Up to you.
> -Remko
>
> >
> > Gary
> >
> >
> >> It solves Arwen's original problem and is generic enough that many users
> >> can benefit from it.
> >>
> >> Sent from my iPhone
> >>
> >>> On 2014/08/09, at 6:40, Matt Sicker <boards@gmail.com> wrote:
> >>>
> >>> I was thinking it would be easier to create a main() method wrapper or
> >> use
> >>> byte code weaving to automatically wrap it. However, I realized that
> this
> >>> wouldn't be useful for applications running in server containers like
> >>> Tomcat without modifying that source.
> >>>
> >>>
> >>>> On 8 August 2014 07:56, Remko Popma <remko.popma@gmail.com> wrote:
> >>>>
> >>>> Ouch!
> >>>>
> >>>>
> >>>> On Fri, Aug 8, 2014 at 9:24 PM, Gary Gregory <garydgregory@gmail.com>
> >>>> wrote:
> >>>>
> >>>>> It's worse than that, the JMX look up does not provide access to
the
> >> main
> >>>>> args. The other lookup I created and attached to the jira needs
to be
> >>>>> initialized by the user.
> >>>>>
> >>>>> Gary
> >>>>>
> >>>>>
> >>>>>> On Fri, Aug 8, 2014 at 7:41 AM, Remko Popma <remko.popma@gmail.com>
> >>>>> wrote:
> >>>>>
> >>>>>> Note that log4j will only invoke this logic if the application
has a
> >>>>>> lookup of the form ${main:<argnum>} in its configuration.
> >>>>>>
> >>>>>> In environments without JMX the app may even need to explicitly
> >>>>> initialize
> >>>>>> the main arguments map.
> >>>>>>
> >>>>>> This doesn't happen without being requested by the app, so I
don't
> >>>> share
> >>>>>> the concern.
> >>>>>>
> >>>>>> Sent from my iPhone
> >>>>>>
> >>>>>>>> On 2014/08/08, at 16:54, Mikael Ståldal <
> >>>>>>> mikael.staldal@appearnetworks.com> wrote:
> >>>>>>>
> >>>>>>> To me, it seems conceptually wrong for a library (like Log4j)
to
> read
> >>>>>>> command line arguments behind the scenes without involvement
from
> the
> >>>>>>> application. Command line arguments are for the application
to
> parse.
> >>>>>>>
> >>>>>>> System properties is the proper way to configure a library
without
> >>>>>>> involvement from the application
> >>>>>>>
> >>>>>>>
> >>>>>>>> On Thu, Aug 7, 2014 at 7:02 PM, Gary Gregory <
> >>>> garydgregory@gmail.com>
> >>>>>> wrote:
> >>>>>>>>
> >>>>>>>> Please see this experiment:
> >>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-771
> >>>>>>>>
> >>>>>>>> Gary
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Thu, Aug 7, 2014 at 7:57 AM, Gary Gregory <
> >>>> garydgregory@gmail.com>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>> On an Oracle JVM, you use a system property lookup
to get the
> >>>>>>>>> "sun.java.command" system property which gives you
the whole
> >>>> command
> >>>>>> line
> >>>>>>>>> but we do not have a syntax to parse it...
> >>>>>>>>>
> >>>>>>>>> Gary
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Thu, Aug 7, 2014 at 2:27 AM, Gary Gregory <
> >>>> garydgregory@gmail.com
> >>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> It'll be more complicated than just grabbing
the main args of
> >>>>> course.
> >>>>>>>>>>
> >>>>>>>>>> If I say something like ${main:0} that seems
easy to deal with,
> >>>> but
> >>>>>> when
> >>>>>>>>>> I say ${main:--file} or ${main:-f} or ${main:-file},
that should
> >>>>>> pickup
> >>>>>>>> the
> >>>>>>>>>> _next_ arg in the array. What if it is missing
or the next arg
> is
> >>>>>>>> another
> >>>>>>>>>> dash option? Too bad I guess. What are the rules?
> >>>>>>>>>>
> >>>>>>>>>> I could see two lookup classes:
> >>>>>>>>>> - One is a named Map Lookup built from a String[],
which would
> be
> >>>> a
> >>>>>>>>>> singleton called by the main method:
> >>>>>>>>>> MainArgumentsLookup.SINGELTON.set(args); Is
the args array a
> >>>>> reference
> >>>>>>>> or a
> >>>>>>>>>> deep copy?
> >>>>>>>>>> - Another is the more complex and vendor dependent
(and
> unproven)
> >>>>>> stack
> >>>>>>>>>> walker.
> >>>>>>>>>>
> >>>>>>>>>> Gary
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> On Wed, Aug 6, 2014 at 11:45 PM, Matt Sicker
<boards@gmail.com
> >
> >>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hey, it's better than having to use sun.util.Reflection!
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>> On 6 August 2014 20:19, Gary Gregory
<garydgregory@gmail.com>
> >>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> And worse: vendor specific!
> >>>>>>>>>>>>
> >>>>>>>>>>>> Gary
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>> On Wed, Aug 6, 2014 at 9:05 PM,
Remko Popma <
> >>>>> remko.popma@gmail.com
> >>>>>>>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Oooh... A little naughty, but a
lot of fun! :-)
> >>>>>>>>>>>>> Thanks for the pointer!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Sent from my iPhone
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> On 2014/08/07, at 9:44, Gary
Gregory <
> garydgregory@gmail.com>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> With some debug API hackery:
> >>
> http://docs.oracle.com/javase/7/docs/jdk/api/jpda/jdi/com/sun/jdi/StackFrame.html
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Gary
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Wed, Aug 6, 2014 at 8:36
PM, Remko Popma <
> >>>>>>>>>>> remko.popma@gmail.com>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I don't follow... If you
walk the stack trace you can find
> >>>> the
> >>>>>>>>>>> name of
> >>>>>>>>>>>>> the
> >>>>>>>>>>>>>>> original class whose main()
method was called, but how
> would
> >>>>>>>> that
> >>>>>>>>>>> give
> >>>>>>>>>>>>> you
> >>>>>>>>>>>>>>> access to the main method's
parameter values?
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Sent from my iPhone
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> On 2014/08/07, at 9:26,
Gary Gregory <
> >>>> garydgregory@gmail.com>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> 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.goers@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 <
> >>>>>>>>>>> garydgregory@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.goers@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 <apond@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-unsubscribe@logging.apache.org
> >>>>>>>>>>>>>>>>>> For additional
commands, e-mail:
> >>>>>>>>>>>> log4j-user-help@logging.apache.org
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>>>> E-Mail: garydgregory@gmail.com
| ggregory@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-unsubscribe@logging.apache.org
> >>>>>>>>>>>>>>>> For additional commands,
e-mail:
> >>>>>>>>>>> log4j-user-help@logging.apache.org
> >>>>> ---------------------------------------------------------------------
> >>>>>>>>>>>>>>> To unsubscribe, e-mail:
> >>>>>>>> log4j-user-unsubscribe@logging.apache.org
> >>>>>>>>>>>>>>> For additional commands,
e-mail:
> >>>>>>>>>>> log4j-user-help@logging.apache.org
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> --
> >>>>>>>>>>>>>> E-Mail: garydgregory@gmail.com
| ggregory@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-unsubscribe@logging.apache.org
> >>>>>>>>>>>>> For additional commands, e-mail:
> >>>>>>>> log4j-user-help@logging.apache.org
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> --
> >>>>>>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> --
> >>>>>>>>>>> Matt Sicker <boards@gmail.com>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> --
> >>>>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> E-Mail: garydgregory@gmail.com | ggregory@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
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Mikael Ståldal
> >>>>>>> Chief Software Architect
> >>>>>>> *Appear*
> >>>>>>> Phone: +46 8 545 91 572
> >>>>>>> Email: mikael.staldal@appearnetworks.com
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>>>>
> >>>>>
> >>>>> --
> >>>>> E-Mail: garydgregory@gmail.com | ggregory@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
> >>>
> >>>
> >>>
> >>> --
> >>> Matt Sicker <boards@gmail.com>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
> > --
> > E-Mail: garydgregory@gmail.com | ggregory@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-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>


-- 
Matt Sicker <boards@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message