RE: log4j with chainsaw

2003-03-13 Thread Paul Smith
> Where can i find an example, of using chainsaw app?
> I am using xml config and output.  Ceki's book doesn't mention much on
> chainsaw to view XML logs.  I just want to see how it would look etc..

Hi Michael,

Here's a property file for the app that I want to remote via logs via
chainsaw:

# This logger catches everything else that is getting logged.
log4j.rootCategory=DEBUG, ChainSaw

log4j.appender.ChainSaw=org.apache.log4j.net.SocketAppender
log4j.appender.ChainSaw.RemoteHost=localhost
log4j.appender.ChainSaw.Port=4445
log4j.appender.ChainSaw.LocationInfo=true
log4j.appender.ChainSaw.ReconnectionDelay=5000

[end property file]

I don't think a layout is required (might even be the cause of the issue).

When chainsaw starts up, it will start listening on a default port of 4445,
and if the SocketAppender on the remote side doesn't immediately connect to
Chainsaw it will give up forever without the ReconnectionDelay parameter
setting.

If this doesn't work, try starting Chainsaw using "java" rather than "javaw"
to see any Chainsaw specific log outputs about connections etc.

Hope this helps.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: ASYNC Appender not printing line or class information

2003-06-16 Thread Paul Smith
> *Threshold - no idea what this does

Just like you can set the threshold for the hierarchy, and
loggers/categories to restrict events going any further down if it is not
that level or Higher, you can do the same thing for any appender (that
extend from AppenderSkeleton).  This is VERY handy for attaching separate
appenders to the same logger.  You have INFO level logs for a Logger going
to a file, but ERROR only going via SMTP to someone.

Ceki's book is excellent, I think everyone should have it in their toolbelt.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Appenders filtering for each file

2003-06-16 Thread Paul Smith

> -Original Message-
> From: Terence Ingram [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, 17 June 2003 11:26 AM
> To: Log4J Users List
> Subject: Appenders filtering for each file
> 
> 
> Our current issue is that we want to have log4j for each 
> class. Simple!
> Done! And everyone knows how to do that. However we want to 
> individually
> select at runtime which classes produce output either to 
> CONSOLE or to FILE.
> So assume I set debug level to my entire codebase, however 
> the only output I
> want to see is from class X, class A and class Q, but I have 
> many other
> classes with debug messages in them.

Create yourself your own Filter implementation (see the Filter class in
org.apache.log4j.spi).

There's currently a few concrete impl's of this type in the log4j package,
LevelMatchFilter, LevelRangeFilter, and StringMatchFilter, plus some in the
jakarta-log4j-sandbox module I think.

You could create your own Filter class, and pass it some comma separated
list of class names that would match.

Or, possibly easier if there aren't too many classes you want to do:

* Lets say your package hierarchy is com.mycompany.fooapp
* set the com.mycompany.fooapp's level to WARN or something to prevent every
other class from outputting much
* set each individual full qualified class name to DEBUG, and attach an
appender of choice to each of those

In log4j.properties parlance (and just doing this from memory...)

log4j.logger.com.mycompany.fooapp=WARN

log4j.logger.com.mycompany.fooapp.pkg1.mycomponent=DEBUG, MyFileAppender
log4j.logger.com.mycompany.fooapp.pkg21.myothercomponent=DEBUG,
MyFileAppender

This of course relies on having a single point in your package hierachy to
turn things off.

Hope I make sense, and hope I interpretted your request correctly.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Chainsaw Question

2003-06-17 Thread Paul Smith
> Hi everybody,

Hi Egan,

> The initial suggestion was to put a session id or an ip 
> address with each
> debug statement and separate them using grep. A later 
> proposal was to use
> something like chainsaw to generate a separate logfile for 
> each user. (Is
> this possible with chainsaw???)

As one of the developers working on Chainsaw v2, I can say that Chainsaw's
probably not the best way to go with this. It's great for viewing log
entries as they happen (particularly from multiple remote sources
simultaneously), or browsing a log xml file, but I can't really think of how
Chainsaw will help you here.  

I'd go with the standard log4j approach, with filters by NDC, or even filter
by properties.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Chainsaw V2 - Screenshot

2003-06-18 Thread Paul Smith
[Unfortunately logj-user list has a 100k limit, so i've had to turn the
screen shot into a link on the Wiki]  

In a reasonably desperate attempt to gather feedback from the Log4j
community, I am providing a link to a screenshot of the current build of
Chainsaw v2 in action that can be accessed from the jakarta-log4j-sandbox.

http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages/Log4jv13Featu
res

[scroll down to the bottom, there is a link to click on to view the image
(the above is a shorter URL)]

You will see a number of the new visual changes  that have been made in the
new version (but by no means all of them!).  

I'm hoping that this screenshot may encourage anyone that has used the
(excellent) original Chainsaw, and anyone who has never heard of Chainsaw,
to try this new version out and assist us in quality control.  Scott Deboy
(the developer who kicked this new version off) and I use this version every
single day in our own work environments so it's very stable.

I will go out of my way to make it as easy on anyone as possible, feel free
to email questions, problems etc.  I can help anyone walk through getting
the module checked out of CVS, and the configuration files setup for your
needs.

regards,

Paul Smith

[Thanks to Olivier Vierlinck for the great idea of putting the link to the
image from the Wiki]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Chainsaw V2 - Screenshot

2003-06-18 Thread Paul Smith
HI Dave,

Sure! In the jakarta-log4j-sandbox/src/config there is a number of xml files
that show some examples.  I think out of the box  if you run the "ant -f
chainsaw-build.xml" it will automatically use the log4j-sample.xml file
(this is all configured in the  build.chainsaw.properties file).

What I'm working on right now is support for detecting that no Receivers
have been configured and prompt the user if they wish some receivers to be
configured with defaults (like a SocketReceiver on port 4445).

If you have an log4j log file that has been formatted with the XMLLayout,
you could try just opening that file!

I'll be working on more documentation as well over the next week.

Comments appreciated!

Paul

> -Original Message-
> From: Tauzell, Dave [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 18 June 2003 11:16 PM
> To: Log4J Users List
> Subject: RE: Chainsaw V2 - Screenshot
> 
> 
> I checked out from CVS and built, but I'm not sure where to go from
> there. Is there anything that describes what the configuration file
> should look like and which additional jars I'll need to run chainsaw?
> 
> -Dave
> 
> -Original Message-
> From: Paul Smith [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, June 18, 2003 2:45 AM
> To: 'Log4j-User (E-mail) (E-mail)'
> Subject: Chainsaw V2 - Screenshot
> 
> 
> [Unfortunately logj-user list has a 100k limit, so i've had 
> to turn the
> screen shot into a link on the Wiki]  
> 
> In a reasonably desperate attempt to gather feedback from the Log4j
> community, I am providing a link to a screenshot of the 
> current build of
> Chainsaw v2 in action that can be accessed from the
> jakarta-log4j-sandbox.
> 
> http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages
/Log4jv13F
eatu
res

[scroll down to the bottom, there is a link to click on to view the
image (the above is a shorter URL)]

You will see a number of the new visual changes  that have been made in
the new version (but by no means all of them!).  

I'm hoping that this screenshot may encourage anyone that has used the
(excellent) original Chainsaw, and anyone who has never heard of
Chainsaw, to try this new version out and assist us in quality control.
Scott Deboy (the developer who kicked this new version off) and I use
this version every single day in our own work environments so it's very
stable.

I will go out of my way to make it as easy on anyone as possible, feel
free to email questions, problems etc.  I can help anyone walk through
getting the module checked out of CVS, and the configuration files setup
for your needs.

regards,

Paul Smith

[Thanks to Olivier Vierlinck for the great idea of putting the link to
the image from the Wiki]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: is there anything in log4j that can enable me to do this.....?

2003-06-26 Thread Paul Smith
> Thanks for ur advice Yoav,
> 
> " pluggable Receivers for logging events..." whats this???
> 

Hi Michael, 

Receivers are the sibling of Appenders.  Appenders take an event from Log4j
and take them outside the log4j environment (to a file, socket, JMS topic,
SMTP etc).  Receivers take an external event (say, from a Socket) and push
or 'post' them into their local Log4j environment.  Receivers are great for
getting hold of Log4j events from a remote location.  Chainsaw uses them
extensively.

If Chainsaw wasn't enough to help you monitor events from a remote location,
you could always mimic something by writing it yourself.  Write a program
that configures Log4j to use a Receiver to suck external events into the
programs local log4j environment, then configure appenders in that same
local log4j environment configured to catch the events you're interested in
and react accordingly.  (this is all Chainsaw does! :) )

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: DailyRollingFileAppender - why isn't rollOver protected

2003-06-29 Thread Paul Smith
Hi Avner,

You'll be pleased to know that Ceki has done a LOT of work on refactoring
the Rolling appender stuff for Log4j 1.3 (not yet released).  I can't give
100% guarantee that the new changes are what you are looking for, but
suffice to say his new design should make it a lot easier to customize
behaviour.

Perhaps you could check out the jakarta-log4j module and see his new changes
too see if it meets your needs? (we always love feedback! :) )

cheers,

Paul Smith

> -Original Message-
> From: Avner BenHanoch [mailto:[EMAIL PROTECTED]
> Sent: Sunday, 29 June 2003 9:38 PM
> To: Log4J Users List
> Subject: DailyRollingFileAppender - why isn't rollOver protected
> 
> 
> I need to customize DailyRollingFileAppender, so rollOver 
> will check if
> renaming the file is safe, before it renames it (because my 
> application
> enable the user to view/query the log files).
> What I need is that in case the file is being read, don't 
> rollOver, instead
> try again on the next time a record is appended.  
> Unfortunately, this is not
> possible, because rollOver is not protected.  To my opinion 
> it should be
> protected, otherwise there is no real option to extend the class.
> 
> If one want more details, then here they come: At first I 
> wanted to do that
> by inheriting DailyRollingFileAppender and overriding 
> subAppend.  Then I
> noticed that it won't work (because subAppend schedules the 
> time for next
> rollOver, even if current rollOver failed - so it won't 
> happend on next time
> a record is appended).  Then I wanted to override rollOver to 
> raise a flag
> that will be inspected on next subAppend, to see if a 
> rollOver is needed.
> Unfortunately, this is not possible, because rollOver is not 
> protected.
> What I did to solve my problem is a little bit ugly.  I copied
> DailyRollingFileAppender to my package without changes,  changed its
> packagename accordingly,  then I could extend it from a file 
> in my package
> and called rollOver.  this worked fine, but I think it is 
> better if one
> could change rollOver or subAppend in DRFA, so it will be 
> easier to extend
> the file.
> 
> thanks,
>   Avner
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: DailyRollingFileAppender - why isn't rollOver protected

2003-07-03 Thread Paul Smith
> Thanks.
> 
> I already told Ceki my opinion about log4j (I think it is 
> really great and I
> love it).  I would gladly check the file in jakarta-log4j and 
> tell you if it
> solves my problem or any other feedback I have.  However, I 
> have to admit
> that I don't know how to find it.
> I never browsed the CVS before, the best I could find is:
> http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/a
> pache/log4j/Da
> ilyRollingFileAppender.java
> but this claimed to be version 1.24 and suffer from all the 
> problems I have
> in version 1.28.
> 
> can you help me finding the right file.

Hello Avner, 

Firstly apologise for the lengthy days  delay in responding, I have been off
work due to the dreaded flu that is hitting everyone here in Australia.

Your question gave me an opportunity to explore more Ceki's new rollover
area so that I can respond with at least some facts.

>From what I can tell by browsing the code, the relevant packages in the
jakarta-log4j are org.apache.log4j.rolling and it's 'helper' sub-package. 

http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4j/ro
lling/

Inside this main package is a brand new RollingFileAppender class, which you
can use, and configure it with an implementation of a TriggeringPolicy, and
a RollingPolicy. (This is the classic strategy pattern to allow you to
plugin different ways of doing things).  There will now be no need to
sub-class the RollingAppender class, but just provide the RollingAppender
with a custom TriggerPolicy or RollingPolicy as is required in your
circumstances.

A TriggeringPolicy is the 'when' of how the appender should roll, and the
RollingPolicy is the 'how' the rolling actually occurs.  You will notice
that the rolling package has a TimeBasedRollingPolicy, and a
SizedBasedTriggerPolicy class, these implement the classic configs of
yester-year by Rolling based on time or by size.

In your case you could probably choose to wrap one of these existing
policies in your own class, first checking if anyone is reading the file,
and if it meets at least those requirements, forwarding on the call to the
wrapped Policy to do the work.  Wrapping is usually my preferred way of
doing things, but you may just prefer to sub-class, either works fine.

I hope this helps you.

regards,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Accessing multiple log files

2003-07-03 Thread Paul Smith
A Timer would involve a separate Thread wouldn't it?  Isn't
that another no-no in EJB's?

cheers,

Paul Smith

> -Original Message-
> From: Milind Rao [mailto:[EMAIL PROTECTED]
> Sent: Monday, 30 June 2003 4:43 PM
> To: Log4J Users List
> Subject: Re: Accessing multiple log files
> 
> 
> >Yes you are right but ...
> >using a timer would force the usage of 2 different 
> approaches / pieces 
> >of code :  
> >1ø. For normal code
> >2ø. For EJB / Application Server
> 
> Can you elaborate?  I don't see why a Timer would be a 
> problem for EJBs.  In fact writing to a file itself is not recommened 
> for EJBs, so how does a Timer compound it?
> 
> 
> 
> Regards
> Milind
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[OT] Mail (was RE: Buying the manual from switzerland)

2003-07-03 Thread Paul Smith
It sometimes takes nearly a week for a small piece of mail (i.e a letter) to
get from Sydney to Melbourne (comparable from LA->San Fran).  I also had a
DHL package tracked via the web that spent more time in Sydney than it did
travelling from Amazon in Seattle through to Sydney PLUS the time taken to
move from Sydney to my office in Melbourne.  

What is even more amazing is that tracking a FedEx parcal via the web I saw
between 1 minute page refreshes my package status changed from "In Transit"
to "Signed for by ", 15 seconds before our receptionist rang to say I
had a package at the front desk.

Paul Smith

> -Original Message-
> From: Ceki Gülcü [mailto:[EMAIL PROTECTED]
> Sent: Friday, 4 July 2003 8:31 AM
> To: Log4J Users List
> Subject: Re: Buying the manual from switzerland
> 
> 
> Scott,
> 
> Thank you for your vote of confidence.
> 
> In 99+ percent of cases, the packages we send arrive to destination in
> a timely fashion. If you stop to think about it, it is a remarkable
> technological feat by the post offices of the countries involved. We
> drop a package at our local post office in Lausanne, Switzerland on a
> Monday morning and the same package resurfaces the next Monday in
> Tuscaloosa, Alabama or in Tasmania, Australia. It just does, by
> magic. Pouff!!
> 
> Although practically none of the packages we sent were lost, some were
> delayed. In one case that we were able to track down, it took over 3
> weeks for the book to arrive to Frankfurt which is just
> several hours train ride from Lausanne.  It appears that the book
> arrived to Frankfurt by *airplane* but was delayed by the German
> customs for two weeks. They charged the customer custom duty of
> about 1 Euro and 50 cents (approx. 1.75 USD). Meanwhile, the customer
> was irate with us because we failed to deliver on time. This actually
> happened several times with packets sent to Germany.
> 
> At 05:07 PM 7/3/2003 -0400, you wrote:
> >I received my copy in about a week.  I have waited longer 
> from some us
> >vendors actually...  The service was quite prompt.  And the 
> book is very
> >useful and well written. Two thumbs up
> >
> >Scott
> 
> --
> Ceki  For log4j documentation consider "The complete log4j manual"
>ISBN: 2970036908  http://www.qos.ch/shop/products/clm_t.jsp 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: tomcat and log4j, again

2003-07-03 Thread Paul Smith
Mmmm, for some reason it is using all the right class loaders to attempt to
find the log4j.xml file, but it only uses 1 different methods to try to find
log4j.properties.  That is odd.  Is this a Tomcat 4.1 specific class loader
issue?

What about trying converting your log4j.properties file into a log4j.xml
file, and placing it in the same spot.  Given the catalina.out is attempting
to look for that file in the right spots it should find it.

Paul

> -Original Message-
> From: Dean A. Hoover [mailto:[EMAIL PROTECTED]
> Sent: Friday, 4 July 2003 8:37 AM
> To: Log4J Users List
> Subject: Re: tomcat and log4j, again
> 
> 
> Ceki Gülcü wrote:
> 
> >
> > My suggestion would be to start tomcat and set the log4j.debug 
> > property to true. 
> 
> OK, did it:
> 
> log4j.debug=true
> log4j.logger.fermataintl.migrasponder=DEBUG, l1
> log4j.appender.l1=org.apache.log4j.FileAppender
> log4j.appender.l1.File=/tmp/migrasponder
> log4j.appender.l1.layout=org.apache.log4j.PatternLayout
> log4j.appender.l1.layout.ConversionPattern=%d{-MM-dd 
> HH:mm:ss} %-5p 
> %F:%L - %m%n
> 
> >
> >
> > The extra command line argument is   -Dlog4j.debug=true 
> 
> Did that too:
> 
> [EMAIL PROTECTED] jakarta-tomcat-4.1.24]# 
> CATALINA_OPTS="-Dlog4j.debug=true"
> [EMAIL PROTECTED] jakarta-tomcat-4.1.24]# export CATALINA_OPTS
> [EMAIL PROTECTED] jakarta-tomcat-4.1.24]# rm logs/catalina.out
> rm: remove regular file `logs/catalina.out'? y
> [EMAIL PROTECTED] jakarta-tomcat-4.1.24]# bin/startup.sh
> Using CATALINA_BASE:   /usr/java/jakarta-tomcat-4.1.24
> Using CATALINA_HOME:   /usr/java/jakarta-tomcat-4.1.24
> Using CATALINA_TMPDIR: /usr/java/jakarta-tomcat-4.1.24/temp
> Using JAVA_HOME:   /usr/java/j2sdk1.4.1_02
> 
> I am using ant to build a war file for my app and deploy it 
> to tomcat. I did
> a "find" to locate where tomcat put my log4j.properties file. 
> It put it in:
> 
> $CATALINA_HOME/work/Standalone/localhost/vendor/WEB-INF/classe
> s/log4j.properties
> 
> The catalina.out file is a bit too long to just cut and paste 
> easily, so 
> I am
> attaching the file to this email message. It appears to not 
> be able to find
> the log4j.properties file and throws an exception. Any more 
> suggestions
> will be appreciated.
> 
> Thanks.
> Dean
> 
> >
> >
> > This should show which configuration file log4j load if it 
> loads one 
> > at all. If your config file is found, you should also see log4j 
> > parsing it. BTW, your config file looks OK.
> >
> > At 04:56 PM 7/3/2003 -0400, Dean A. Hoover wrote:
> >
> >> Sorry about that. It turns out that I had
> >> some tags in the web.xml file in the wrong
> >> place. I didn't realize that the order of
> >> those tags was important. Anyway. I fixed
> >> that, but the file logging is still not
> >> working. Here is the catalina.out file:
> >>
> >> 0 [main] INFO modeler.Registry  - Loading registry information
> >> 2 [main] INFO modeler.Registry  - Creating new Registry instance
> >> 471 [main] INFO modeler.Registry  - Creating MBeanServer
> >> 1214 [main] INFO http11.Http11Protocol  - Initializing Coyote 
> >> HTTP/1.1 on port 8
> >> 080
> >> Starting service Tomcat-Standalone
> >> Apache Tomcat/4.1.24
> >> 5324 [main] INFO http11.Http11Protocol  - Starting Coyote 
> HTTP/1.1 on 
> >> port 8080
> >> 5438 [main] INFO common.ChannelSocket  - JK2: ajp13 listening on 
> >> /0.0.0.0:8009
> >> 5440 [main] INFO server.JkMain  - Jk running ID=0 time=1/116 
> >> config=/usr/java/j
> >> akarta-tomcat-4.1.24/conf/jk2.properties
> >> 33445 [Thread-5] WARN common.Vendor  - attempt to 
> authenticate 'xxx' 
> >> failed
> >>
> >> So, now there are no exceptions being thrown, but my log message
> >> is still going to catalina.out, despite the properties file:
> >>
> >> log4j.logger.fermataintl.migrasponder=DEBUG, l1
> >> log4j.appender.l1=org.apache.log4j.FileAppender
> >> log4j.appender.l1.File=/tmp/migrasponder
> >> log4j.appender.l1.layout=org.apache.log4j.PatternLayout
> >> log4j.appender.l1.layout.ConversionPattern=%d{-MM-dd HH:mm:ss} 
> >> %-5p %F:%L - %m%n
> >>
> >> Thanks for all your help. Do you see anything wrong with this?
> >>
> >> Dean
> >>
> >>
> >>
> >>
> >> 
> -
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >
> > -- 
> > Ceki  For log4j documentation consider "The complete log4j manual"
> >   ISBN: 2970036908  http://www.qos.ch/shop/products/clm_t.jsp
> >
> > 
> -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4J admin web app

2003-07-18 Thread Paul Smith
Hi Jim,

We've been doing a lot of JMX stuff for our app at work, and I'm hooked.
Let me know what you're thoughts are, as I'd love to be part of the
discussion too, as I am keen to be able to manage the Log4j stuff for our
app via JMX.

cheers,

Paul Smith

-Original Message-
From: Doyle, Jim
To: [EMAIL PROTECTED]
Sent: 7/19/03 8:37 AM
Subject: RE: Log4J admin web app

Yoav, Mark,

Thanks for the feedback, now I'm on the same page as everyone else.
The features provided by the ConfigurationServlet now (listing Loggers
and 
letting you change their priorities) is probably good enough for what
our
admins need.  So I probably won't attempt to enhance it right now,
but if I do I will certainly share the patches.  :)  

One thing I would probably contribute right off the bat, though, are
deployment descriptors (samples at least) and a revised Ant target that
builds a war file for the ConfigurationServlet itself.

Right now I'm comparing JMX support with ConfigurationServlet and
deciding 
which way to go.  (I'm going to post about JMX in a separate thread.)

Thanks again,
Jim


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j presentation at ApacheCon 2003

2003-07-22 Thread Paul Smith
Hi Ceki

> Here is a draft of my log4j presentation abstract for ApacheCon 2003.

[snip]

> This will first quickly introduce log4j and proceed to discuss each of
> the aforementioned improvements in some detail.

Looks good.come see everyone. Will they web cast your talk?  I don't want to
miss out being down here in Oz.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw 2 filtering problems...

2003-07-28 Thread Paul Smith
I think you want .* don't you?

. just means a single character, which is unlikely to be a very useful
Logging statement and so probably won't match anything.  :)

So if you want anything that has an "blah" in it, I would try (off the
top of my head, and 2-1 odds this ends up being wrong) try ".*blah.*".

Any other Chainsaw 2 feedback very welcome.

cheers,

Paul Smith
(Co-dev-type-guy of Chainsaw2, alas swamped by job at the moment)

On Tue, 2003-07-29 at 16:39, Max Rydahl Andersen wrote:
> Hi!
> 
> First: I like the new Chainsaw 2 ;)
> 
> Second: The filtering mechanism should work with regular expression if 
> ORO is installed and if not fallback to case-insensitive indexof 
> filtering, right ?
> 
> Why is it then that enterin '.' (a dot - whichi should match everything) 
> filters out ALL lines ?
> And entering 'e' (the letter e, which is part of 99,9% of my messages) 
> instead also filters out ALL lines ?
> 
> I simply can't make the filtering mechanism work :(
> 
> Any ideas ?
> 
> /max
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw 2 filtering problems...

2003-07-29 Thread Paul Smith
Just checking all angles, the mistake I always make is making sure the
correct filter drop down is selected (ie. I am wanting to filter the
message column, but the drop has timestamp selected, which of course
finds nothing).

Also check what the tooltip is when you mouse over the search string
text box, let us know what it says.

cheers,

Paul Smith

On Tue, 2003-07-29 at 17:12, Max Rydahl Andersen wrote:
> I actually also meant '.*' .- and it ain't make any difference - 
> everything is still just filtered away.
> 
> .*e.* does the same thing....
> 
> /max
> 
> Paul Smith wrote:
> 
> >I think you want .* don't you?
> >
> >. just means a single character, which is unlikely to be a very useful
> >Logging statement and so probably won't match anything.  :)
> >
> >So if you want anything that has an "blah" in it, I would try (off the
> >top of my head, and 2-1 odds this ends up being wrong) try ".*blah.*".
> >
> >Any other Chainsaw 2 feedback very welcome.
> >
> >cheers,
> >
> >Paul Smith
> >(Co-dev-type-guy of Chainsaw2, alas swamped by job at the moment)
> >
> >On Tue, 2003-07-29 at 16:39, Max Rydahl Andersen wrote:
> >  
> >
> >>Hi!
> >>
> >>First: I like the new Chainsaw 2 ;)
> >>
> >>Second: The filtering mechanism should work with regular expression if 
> >>ORO is installed and if not fallback to case-insensitive indexof 
> >>filtering, right ?
> >>
> >>Why is it then that enterin '.' (a dot - whichi should match everything) 
> >>filters out ALL lines ?
> >>And entering 'e' (the letter e, which is part of 99,9% of my messages) 
> >>instead also filters out ALL lines ?
> >>
> >>I simply can't make the filtering mechanism work :(
> >>
> >>Any ideas ?
> >>
> >>/max
> >>
> >>
> >>
> >>
> >>-
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> >-
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >  
> >
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw 2 filtering wishes...

2003-07-29 Thread Paul Smith
On Tue, 2003-07-29 at 19:45, Max Rydahl Andersen wrote:
> Know it works I got some wishes/ideas ;)
> 
> 
> 1. Let me select wether I want to use regular expression or case 
> insensitive matching
>   (actually, enabling caseinsensitve regular expression would be a nice 
> option)

A good idea.  

> 2. Any way to show elapsed time between visible rows - instead of just 
> the event time ?

That's probably a performance killer at this stage.  We could probably
easily allow you to Select two rows, and provide either a status bar
and/or popup option to display the time difference, but doing it for
every single row is probably something I would prefer not to do at this
stage.

> 3. Let me define a SimpleDateFormat expression for the time stamp rows.

Another good idea, we've thought of that one too, we're working towards
some ideas for the preferences side of things, so this one will
definitely go in.

> 4. Let me define which part of the Logger name I want to see.
>e.g. in x.y.z.some.package.LoggerTableView I would like to see
> LoggerTableView more than I like to see x.y.z..some... (maybe get 
> inspired of
> eclipse's package name "compression" scheme

Another good one (this also drives me a little crazy).

> 5. Let me view the logger hiearchy and enable/disable/filter on that 
> (Look at Lumbermill for inspiration - its
> gui is actually quite good regarding enabling/disabling parents/children 
> levels)

Got a link for Lumbermill? (too busy, I mean lazy, to do a google
search).

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw 2 filtering wishes...

2003-07-30 Thread Paul Smith
On Wed, 2003-07-30 at 17:14, Max Rydahl Andersen wrote:
> >>2. Any way to show elapsed time between visible rows - instead of just 
> >>the event time ?
> >>
> >>
> >
> >That's probably a performance killer at this stage.  We could probably
> >easily allow you to Select two rows, and provide either a status bar
> >and/or popup option to display the time difference, but doing it for
> >every single row is probably something I would prefer not to do at this
> >stage.
> >  
> >
> This should not be a performance killer  
> tabModel.getValueAt(timestampcol, row) - 
> tabModel.getValueAt(timestampcol, row-1) isn't
> that much of a killer is it (it is constant) ? (it should ofcourse be an 
> option - not something always done)

Doing this for every single row would be... Perhaps you didn't mean
that, I was under the impression you wanted each row to display a time
value which is the elapsed time since the previous row.

Or maybe you did mean this. Also from a purest point of view, each row
would have to know what row number it was, and be able to find out the
previous row which is a bit 'coupley'.  It certainly might be possible,
but me personally I would just highlight two rows and click an action to
tell me the difference.


> Lazy you ;)
> http://traxel.com/lumbermill/
> 
> Check it out - there hierachy management is better than LF5 IMHO ;)

Many thx!

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: discreet log types

2003-07-30 Thread Paul Smith
Hi Larry, 

This is where you would probably delve into the MDC/NDC/Properties
usage.

At each 'type' point/location in code I would add a MDC/NDC/Property
(whatever works best) at the point, and remove it afterwards where
appropriate.  The log events generated between these places would then
have a Level, belong to a Logger (you're class/interface/logger name),
and have additional information for your 'type'.

Then it is just a matter of configuring Filters at the appender level to
filter out events that you're not interested in for that appender.  You
might have to develop some custom Filter classes to meet your needs, or
re-use/build on the Filter classes that are in Log4j, but that's the
approach I would use.

Configuration reloading is free out of the box, just register a File
Watchdog (see the PropertyConfigurator.configureAndWatch(file,
watchTime) method, plus the DOMConfigurator obviously has this too).

I hope this helps you.

cheers,

Paul Smith

On Thu, 2003-07-31 at 09:25, Larry Young wrote:
> Hello,
> 
>  I'm looking at creating a logging package for our applications 
> (web & non-web).   The reason for yet-another-logger is that I want 
> discreet logging types, not hierarchical levels.  I've built this kind of a 
> package before for previous projects, and ended up building the whole thing 
> because I didn't think log4j could do what I wanted (that was several years 
> ago).  Now I'm building another one, and looking at the current version of 
> log4j, and having read much of Ceki's book (which I highly recommend!), I'm 
> thinking that there's got to be a way of re-configuring (bending?) log4j to 
> do what I need.  I don't think it's that far off.
> 
>  Basically, I want to be able to enable/disable logging for a 
> particular class or package by type, and each type is totally independent 
> of every other type.  Some examples of types might be:  Fatal, Error, 
> Timing, CodeBlock, ControlPoint, DBAccess, Info, etc.  There is no implicit 
> "ordering" between these various types, so "levels" are inappropriate. What 
> I want to be able to do is to turn on/off each type independently, so that 
> I can turn on Timing without having to also turn on Info, or be able to 
> turn on CodeBlock without turning on Error.  I also want the users of my 
> package to be able to define additional types and register them with the 
> logger at runtime (via code or xml ???).  Oh yeah, I also need to have the 
> logger reload the config file (or some portion of it) on a regular basis so 
> that we can change the enabled types without bouncing the app-server or 
> restarting the application.
> 
>  I was thinking if I tried to tie all my "types" to a single 
> "level", and did something with the log-level filtering to enable/disable 
> by package or class, that would get me close.  I'm not sure how I'd tie in 
> the "type".  I'd probably have to programatically update the log-level 
> filters with updates to handle config changes at runtime.
> 
>  Thoughts, ideas, concerns???Any comments are gratefully 
> accepted!  :)
> 
> --- regards ---
> Larry
> 
> 
> --
> Larry Young
> The Dalmatian Group
> www.dalmatian.com
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Instant Logging Article

2003-08-14 Thread Paul Smith
I could really use something like this myself.  Could we perhaps ask if
the author might be in a position to be able to donate the source code
into the sandbox?

cheers,

Paul

On Thu, 2003-08-14 at 06:14, Ceki Gülcü wrote:
> I hadn't seen it before. Really well written and informative article.
> 
> I have a weak spot for SMTPAppender. (If you are not using it, you should.) 
> I am still not 100% convinced, but this article makes a good case of why 
> IMAppender might be preferable to SMTPAppender under certain circumstances.
> 
> Thanks for forwarding it.
> 
> At 09:08 AM 8/13/2003 -0400, you wrote:
> 
> >Howdy,
> >Even though I'm sure many have seen it, I wanted to send a link to this
> >interesting article:
> >http://www-106.ibm.com/developerworks/java/library/j-instlog/
> >
> >The article has an overview of log4j and details on how to implement a
> >remote instant messages (IM) appender.
> >
> >Yoav Shapira
> >Millennium ChemInformatics
> >
> >


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Instant Logging Article

2003-08-14 Thread Paul Smith
On Thu, 2003-08-14 at 09:58, Scott Heaberlin wrote:
> whoops! Of course, now that I re-read the archived post, I see that the
> author of the ibm.com article and the person who submitted IMAppender to
> the mailing list are one and the same.

Ceki, what do you think about contacting the author and arranging the
official donation to log4j?  Given the article Scott Heaberlin pointed
to, it seems the author is keen to donate it to Log4j.  I'm not sure
where to proceed here regarding official donation stuff.

I can help shepherd anything into the sandbox.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: discreet log types

2003-08-14 Thread Paul Smith
On Fri, 2003-08-15 at 07:49, Larry Young wrote:
> Ceki,
> 
>  That's an interesting way of looking at logger types!  But how 
> would that allow me to enable/disable log messages for a particular 
> class?  One of the features I need is the ability to specify that a 
> particular class should display a particular type of log message (or 
> possibly more than one).  This would appear to only let me set the message 
> type system wide.  Did I miss something?

No, you haven't missed anything, it would set the types system wide, and
allow you to specify the level system wide, but if that was not granular
enough, can't you specific a particular Filter for your appender?  (i.e
all classes logging to the DB logger, but you filter for a particular
class).

I'm sure you could write yourself a Filter sub-class very quickly and
attach it to an Appender via the configuration.   You could configure
this Filter impl with some configuration as to what classes you want to
see output.

Hope that makes sense.

cheers,

Paul Smith



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [ newbie ]

2003-08-14 Thread Paul Smith
On Fri, 2003-08-15 at 09:15, Schalk wrote:
> I have installed, hopefully, all the files/packages needed for log4j. I
> wrote the log4jInit servlet and it compiled without any problems. I did
> the
> set-up in the web.xml as mentioned in the source course doc. The one
> thing I
> am unsure of is what exactly the log4j.lcf file should contain.

Hi,

The log4j.lcf file would contain the Log4j configuration information you
wish to use in your circumstances (details of what Appenders to setup,
which Logger's they're bound to etc).

You've got 2 formats to choose for this information.  Standard Java
property syntax, or in XML.  If you were to rename the 'log4j.lcf' file
referenced by your servlet to 'log4j.properties' or 'log4j.xml' Log4j
will automatically detect the appropriate style and configure itself.

However if you name it 'log4j.lcf', your servlet will need to  tell
Log4j which Configurator class to initialize Log4j.  Right now I am sure
your Servlet is either using PropertyConfigurator, or DOMConfigurator to
load your log4j.lcf file.  

So depending on your properties vs XML feelings, choose one (bearing in
mind that the XML DOMConfigurator can specify a couple more things that
the PropertyConfigurator can't, but those features may not be important
to you right now, and it's pretty straight forward to rewrite a property
file into XML).

The details of the format of Properties/XML configuration are defined
here:

Properties:
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/PropertyConfigurator.html
(See the doConfigure link)

XML:
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/xml/DOMConfigurator.html
(The link to the DTD is very useful)

There's a couple of great Wiki documents for you to, so check that out:

http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages

in particular, this one is very relevant

http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages/Log4JXmlFormat

I'm sure Ceki won't mind if I plug his book about Log4j, it is excellent
reading:

https://www.qos.ch/shop/products/clm_t.jsp

hope this helps!

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: discreet log types

2003-08-14 Thread Paul Smith
On Fri, 2003-08-15 at 10:52, Larry Young wrote:
> Paul,
> 
>  Yes, I need to be able to specify which class may display which 
> set of discreet types.  For example, I might have "com.*" allowed to 
> display ERROR, but then override that for "com.xyz.MyClass" to display only 
> TIMING,  "com.abc.def.*" to display METHOD_TRACE & TIMING, and 
> "com.abc.dataaccess.*" to display DB_ACCESS.



Yeah, the more I think about it the more I see the issue.  Ouch.

Ok, since in each class you like have something like this:

public static final Logger LOG = Logger.getLogger(MyClass.class);

Could you do something like this? (Cumbersome still, but hey, if you
want Ultimate Configuration it comes with Ultimate complexity usually

public static final DBLogger = Logger.getLogger("DB." +
MyClass.class.getName() );

public static final TimerLogger= Logger.getLogger("Trace." +
MyClass.class.getName());

...

That way you will have a Logger for every class and every aspect.  You
can then turn _ALL_ Trace logging by setting the "DB" Logger to whatever
level, then all the class names inherit from it.  You can then also set
"DB" to INFO, but override with "DB.com.mycompany.MyClass=DEBUG".

Would that help? 

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: discreet log types

2003-08-14 Thread Paul Smith
>  Yes, actually I had already gone down that road as one of my first 
> solutions before I posted my original message.  However, when I considered 
> that option, I was appending the logging type, which was a problem when 
> trying to specify packages instead of individual classes.  But your 
> suggestion to put it at the beginning could solve that problem.

As I was writing my last message I also started with it at the end, and
realised the same thing you have.  I think it has more power at the
front.  Log4j does not have a complete taxonomy, it is strictly
hierarchical, so you will ALWAYS have to choose a primary node structure
at the top (this is usually the package name hierarchy).  It sounds like
your "aspect" (DB, TRACE) etc is your primary concern, with a secondary
concern of the source class.  

>  I'm not so worried about it being clumsy because I can always hide 
> it with a wrapper around the front-end if necessary (i.e. create a static 
> factory-like method).  And I would only have to define loggers for the 
> logging types that my class would be using, not necessarily every one that 
> is defined, especially since the list needs to be extensible.  And it would 
> also allow me to enable multiple logging types for a single class/package.
> 
>  I'll have to give this one some more thought!  It's not the 
> cleanest of solutions, but if no one else on the list thinks this would be 
> a good feature to have, then perhaps this would be the quickest solution 
> for my situation.  Thanks again for your ideas!

Feel free to discuss your ideas further on the list as you develop them,
I'm sure other people will be interested in how you go (definately me). 
May even be worth a nice Wiki page outlining your ideas, and how you
accomplished them.  I'm sure other people would appreciate it if you
have the time.  (see
http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages)

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: org/apache/log4j/Category problem

2003-08-27 Thread Paul Smith
On Wed, 2003-08-27 at 11:48, Rishikesh Tembe wrote:
> Hi all,
> 
> I have a servlet running in Tomcat, which I have setup to do logging via
> log4j. However, I get the foll. error when I try to run my app:
> 
> java.lang.NoClassDefFoundError: org/apache/log4j/Category
> 
> I have the jog4j-1.2.8.jar file in my classpath. 

Yes, it might be in your classpath, but is Tomcat using that classpath? 
NoClassDefFoundError definately means the CLassloader cannot locate the
class via any means.

Try dropping the log4j Jar file in your webapps WEB-INF/lib directory. 
You can also save yourself the effort of property configuration code by
putting the log4j.properties file physically in the WEB-INF/classes
directory of your webapp, Log4j will then find it auto-magically.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: org/apache/log4j/Category problem

2003-08-27 Thread Paul Smith
On Thu, 2003-08-28 at 03:43, Rishikesh Tembe wrote:
> Hi
> 
> Thanks Phil and Jacob for your input. 
> 
> The problem was due to the existence of multiple versions of the jog4j.jar
> file. After I cleaned everything up, put the jar in WEB-INF/lib and the
> props file in WEB-INF/classes, everything worked!
> 
> Has the format of the XML/props file been specfied anywhere? I couldn't
> find a list of supported properties in the manual...

Hi again, 

All the supported properties for Appenders etc are the public setter
methods.  e.g. if an Appender has a setFile(..) method, then there is a
'file' property that can be set, so it's usually just a matter of
looking at the JavaDoc for the specific item in question.

For the other configuration elements I would recommend reading these
links:

* The Log4J FAQ Wiki -
http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages/FrequentlyAskedQuestions

(The first link is on XML Configuration)

* The Property Config Javadoc -
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/PropertyConfigurator.html

( the first link in the desc, doConfigure(...) contains the juicy bits.

Don't forget Ceki's book, https://www.qos.ch/shop/products/clm_t.jsp
you'll be kicking goals in no time with this.

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: duplicate logging?

2003-08-27 Thread Paul Smith
On Thu, 2003-08-28 at 06:32, Rishikesh Tembe wrote:
> Is this how its done?
> 
> log4j.rootLogger.additivity=false

Close, but no cigar.

The Log Event starts getting logged at it's own Logger (say, the
"com.mycompony.mycomponent" Logger, and gets logged "up" the hierarchy
until it reaches the root Logger, so you need to set the addidivity at
the Logger point where you wish to "stop" going up.

So if you want the LogEvent to start and stop at it's own logger:

log4j.additivity.com.mycompany.mycomponent=false

(note that additivity is first)

If you wish all "com.mycompany" and their children Log events to "stop"
logging there<

log4j.additivity.com.mycompany=false

Once it's reached the rootLogger, it can't go any higher, so your
setting has no effect.

The short manual has a good discussion on it:

http://jakarta.apache.org/log4j/docs/manual.html

(see the section on Appender additivity).

cheers,

Paul Smith




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: embedding chainsaw or logfactor5

2003-08-28 Thread Paul Smith
Hi Ricardo,



On Thu, 2003-08-28 at 19:58, Ricardo Trindade wrote:
> Hi,
> 
>   I'm using logfactor5, and I'm wondering if it's possible to embed the
> logfactor5 or chainsaw swing panel inside my application.
> 

I can speak for Chainsaw, as one of the developers of it, I'll defer to
someone else with more LF5 experience to comment on it.

Depends what you mean by embed?  What did you have in mind?

>   I'm also wondering if it's possible to use SocketHubAppender with
> chainsaw/lf5 with the 1.2.8 release.
> 

To be honest I can't remember what Chainsaw does in the 1.2.8 version!
(and I'm one of the Chainsaw developers.)   I'm not sure it can, I think
it was more of an accepting-connections style, rather than making
connections.

The latest version in CVS certainly can, it does via the Receiver
concept.  There is a SocketHubReceiver that can be configured which
effectively creates connections to your SocketHubAppender (there should
be complimentary Receiver's for each network based Appender in the
latest CVS).

I'd recommend trying out the latest CVS HEAD version where Chainsaw v2
is currently on the back straight for completion, it's very stable (been
using it myself for months).  

Try checking out the jakarta-log4j module from CVS, and running "ant
chainsaw" (copy the build.properties.sample to suit your needs)

cheers, 

Paul Smith




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: duplicate logging?

2003-08-28 Thread Paul Smith
On Fri, 2003-08-29 at 09:02, Rishikesh Tembe wrote:
> Hi Paul,
> 
> Based on the manual and what you said, this is what I did:
> 
> I am logging events in 2 classes, viz.
> com.sap.A - with corresp. logger com.sap.A
> com.sap.B - with corresp. logger com.sap.B
> 
> In the props file, I write:
> log4j.additivity.com.sap.A=false
> log4j.additivity.com.sap.B=false
> as in each case I want the logging to stop and not go higher up the
> heirarchy.
> 
> Is this right? I still get the same result though.. one line all be itself
> and the other line following the pattern I specify..


That looks right, could you paste your entire log4j.properties file in a
reply so I can take a peek?  I think it might be now an appender config
issue.  Could you also discuss with us where you actually want the
results of each of those loggers to go, and if you could refresh my
memory as to where they are actually going again that will help me a
lot.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: duplicate logging?

2003-08-28 Thread Paul Smith
On Fri, 2003-08-29 at 09:23, Rishikesh Tembe wrote:
> -log4j.properties-
> log4j.rootLogger=INFO, d1
> 
> log4j.additivity.com.sap.EventThread=false
> 
> log4j.appender.d1=org.apache.log4j.FileAppender
> log4j.appender.d1.File=threads.log
> 
> log4j.appender.d1.layout=org.apache.log4j.PatternLayout
> log4j.appender.d1.layout.ConversionPattern=%d [%t] : %m%n
> --
> 
> Within com.sap.EventThread, I have foll. code snippets:
> {
> logger = Logger.getLogger("com.sap.EventThread");
> PatternLayout pattern = new PatternLayout();
> FileAppender appender = null;
> try {
> appender = new FileAppender(pattern, "threads.log", true);
> } catch(Exception e) { e.printStackTrace(); };
> logger.addAppender(appender);
> logger.setLevel((Level)Level.INFO);

Thanks for this, it helps a lot.  What you appear to be doing, if I make
it out correctly, is creating a SECOND appender using Java code that is
a complete duplicate (apart from the pattern).  Is there any need?  Is
the appender specified in the configuration file ok to use?

What I would recommend is:

a) remove the Java code dealing with configuring appenders, I just can't
see a good reason for it there (hard coding appenders is a maintainence
nightmare).  Leave it to the configuration file.

b) the code "logger = Logger.getLogger("com.sap.EventThread"), make sure
this is only called once!  Best practice is to make the logger variable
a private static final.  the Logger.getLogger call is not exactly cheap,
just get a reference as early as possible, and use it everywhere in your
class.  It's thread-safe, don't worry.

c) You define the appenders in the configuration file, and you identify
which Loggers the appenders get "attached" to.  You will notice your
config file:

log4j.rootLogger=INFO, d1

This attaches the named appender 'd1' to the Root logger.  I'd recommend
removing this so it is just:

log4j.rootLogger=INFO

Now attach your d1 logger to your com.sap.EventThread logger like so:

log4j.logger.com.sap.EventThread=INFO,d1

This should work a treat.  Let me know how you go.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: duplicate logging?

2003-08-29 Thread Paul Smith
> It did work a treat! thanks...
> 
> That gave me better insight into log4j. Basically, we can
> - configure it programatically through the API
> - OR use the props file
> Right?

Yes, although the property/xml files are the way to go.  Just Log stuff
in your Java code, and don't worry about where it's going.  Then, later
on, you can put on your "Where should my log statements go" hat  and
deal with what should be appended where/when in the configuration file. 
This separation makes Logging nice and clean.

cheers,

Paul Smith




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: embedding chainsaw or logfactor5

2003-08-31 Thread Paul Smith
On Sat, 2003-08-30 at 01:40, Ricardo Trindade wrote:
> >I can speak for Chainsaw, as one of the developers of it, I'll defer to
> >someone else with more LF5 experience to comment on it.
> 
> >Depends what you mean by embed?  What did you have in mind?
> 
> I want to have a JPanel inside my application with the chainsaw interface.

Hmmm, unfortunately right now I think that won't be possible.  Currently
Chainsaw v2 is a little coupled with it's Menu's/status's bars etc. 
(have you seen the new v2 of Chainsaw?, with all the tabs etc?)

It's definately on our TODO list anyway.

Paul

> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: embedding chainsaw or logfactor5

2003-09-01 Thread Paul Smith

On Mon, 2003-09-01 at 18:33, Ricardo Trindade wrote:
> not yet. is it released or CVS only ?

No, not released yet, but if you check out the jakarta-log4j module from
the apache CVS repository, and use the "chainsaw" target of the ant
build script you can try it out.

Chainsaw  v2 is targeted for the Log4j 1.3 release (crossing fingers it
makes it in time).

Paul 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: LevelRangeFilter not working

2003-09-07 Thread Paul Smith
Hi Matt,

I think you might have 2 filters confused.  LevelRangeFilter needs a
range of Levels to accept/deny.  In your case you have said that the
Maximum is Error, but have no Minimum set and therefore only logs with
levels greater than error will get denied.  

You are probably wanting the LevelMatchFilter which takes a single level
to match, and only accepts those, denies all others.

Otherwise you could set the LevelMin of the LevelRangeFilter to ERROR
and that should work too, I think.

cheers,

Paul Smith

On Sat, 2003-09-06 at 07:55, Matt Raible wrote:
> I two appenders - a console and a file.  I want all messages to go to
> the console and only <= error to go to the file.
> 
> In my file appender, I have a filter to only get the error messages:
> 
> 
>   
> 
> 
> Then in  I have:
> 
>   
> 
> 
> 
>   
> 
> From the documentation I've read (i.e. http://tinyurl.com/meef), this
> *should* work.  However, all messages get logged to both the console
> appender and the file appender.
> 
> Help is appreciated.
> 
> Matt
> 
> My full log4j.xml file:
> 
> 
> 
> 
> http://jakarta.apache.org/log4j/";>
> 
>   
> 
>   
> 
>   
>   
>class="org.apache.log4j.RollingFileAppender">
>  value="${catalina.home}[EMAIL PROTECTED]@/error.log"/>
> 
> 
> 
> 
>   
> 
> 
>   
>   
>   
>  
>   
> 
> 
>   
>   
>   
> 
> 
> 
>   
> 
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: LevelRangeFilter not working

2003-09-07 Thread Paul Smith
Sorry, I got confused when you said "<=Error" in your original post, was
that a typo, did you mean >=Error?

Ok, to confirm, you only want ERROR and FATAL to go to your file
appender, and allow all errors to go to the console?

cheers,

Paul

On Mon, 2003-09-08 at 08:12, Matt Raible wrote:
> I believe I have it configured correctly.  I want to log messages that
> are FATAL or ERROR - nothing above error.
> 
> Matt
> 
> -Original Message-
> From: Paul Smith [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, September 07, 2003 4:05 PM
> To: Log4J Users List
> Subject: Re: LevelRangeFilter not working
> 
> 
> Hi Matt,
> 
> I think you might have 2 filters confused.  LevelRangeFilter needs a
> range of Levels to accept/deny.  In your case you have said that the
> Maximum is Error, but have no Minimum set and therefore only logs with
> levels greater than error will get denied.  
> 
> You are probably wanting the LevelMatchFilter which takes a single level
> to match, and only accepts those, denies all others.
> 
> Otherwise you could set the LevelMin of the LevelRangeFilter to ERROR
> and that should work too, I think.
> 
> cheers,
> 
> Paul Smith
> 
> On Sat, 2003-09-06 at 07:55, Matt Raible wrote:
> > I two appenders - a console and a file.  I want all messages to go to 
> > the console and only <= error to go to the file.
> > 
> > In my file appender, I have a filter to only get the error messages:
> > 
> > 
> >   
> > 
> > 
> > Then in  I have:
> > 
> >   
> > 
> > 
> > 
> >   
> > 
> > From the documentation I've read (i.e. http://tinyurl.com/meef), this
> > *should* work.  However, all messages get logged to both the console 
> > appender and the file appender.
> > 
> > Help is appreciated.
> > 
> > Matt
> > 
> > My full log4j.xml file:
> > 
> > 
> > 
> > 
> > http://jakarta.apache.org/log4j/";>
> > 
> >   
> > 
> >   
> > 
> >   
> >   
> >> class="org.apache.log4j.RollingFileAppender">
> >  > value="${catalina.home}[EMAIL PROTECTED]@/error.log"/>
> > 
> > 
> > 
> > 
> >   
> > 
> > 
> > 
> > 
> >   
> >  
> >   
> > 
> > 
> >   
> >   
> >   
> > 
> > 
> > 
> >   
> > 
> > 
> > 
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: LevelRangeFilter not working

2003-09-07 Thread Paul Smith
Ok, if that is the case, then you definately want a LevelRangeFilter,
and you want to set the MinLevel to ERROR, and the MaxLevel to FATAL (or
don't have a Max).

Here is the source code the relevant method inside LevelRangeFilter, you
can see how it works:

  public
  int decide(LoggingEvent event) {
if(this.levelMin != null) {
  if (event.getLevel().isGreaterOrEqual(levelMin) == false) {
// level of event is less than minimum
return Filter.DENY;
  }
}

if(this.levelMax != null) {
  if (event.getLevel().toInt() > levelMax.toInt()) {
// level of event is greater than maximum
// Alas, there is no Level.isGreater method. and using
// a combo of isGreaterOrEqual && !Equal seems worse than
// checking the int values of the level objects..
return Filter.DENY;
  }
}

if (acceptOnMatch) {
  // this filter set up to bypass later filters and always return
  // accept if level in range
  return Filter.ACCEPT;
}
else {
  // event is ok for this filter; allow later filters to have a
look..
  return Filter.NEUTRAL;
}
  }

Hope this helps,

Paul

On Mon, 2003-09-08 at 08:45, Matt Raible wrote:
> Yep - I only want ERROR and FATAL to go to my file appender and all
> messages (fatal -> debug) to go to the console.
> 
> -Original Message-
> From: Paul Smith [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, September 07, 2003 4:18 PM
> To: Log4J Users List
> Subject: RE: LevelRangeFilter not working
> 
> 
> Sorry, I got confused when you said "<=Error" in your original post, was
> that a typo, did you mean >=Error?
> 
> Ok, to confirm, you only want ERROR and FATAL to go to your file
> appender, and allow all errors to go to the console?
> 
> cheers,
> 
> Paul
> 
> On Mon, 2003-09-08 at 08:12, Matt Raible wrote:
> > I believe I have it configured correctly.  I want to log messages that
> 
> > are FATAL or ERROR - nothing above error.
> > 
> > Matt
> > 
> > -Original Message-
> > From: Paul Smith [mailto:[EMAIL PROTECTED]
> > Sent: Sunday, September 07, 2003 4:05 PM
> > To: Log4J Users List
> > Subject: Re: LevelRangeFilter not working
> > 
> > 
> > Hi Matt,
> > 
> > I think you might have 2 filters confused.  LevelRangeFilter needs a 
> > range of Levels to accept/deny.  In your case you have said that the 
> > Maximum is Error, but have no Minimum set and therefore only logs with
> 
> > levels greater than error will get denied.
> > 
> > You are probably wanting the LevelMatchFilter which takes a single 
> > level to match, and only accepts those, denies all others.
> > 
> > Otherwise you could set the LevelMin of the LevelRangeFilter to ERROR 
> > and that should work too, I think.
> > 
> > cheers,
> > 
> > Paul Smith
> > 
> > On Sat, 2003-09-06 at 07:55, Matt Raible wrote:
> > > I two appenders - a console and a file.  I want all messages to go 
> > > to
> > > the console and only <= error to go to the file.
> > > 
> > > In my file appender, I have a filter to only get the error messages:
> > > 
> > > 
> > >   
> > > 
> > > 
> > > Then in  I have:
> > > 
> > >   
> > > 
> > > 
> > > 
> > >   
> > > 
> > > From the documentation I've read (i.e. http://tinyurl.com/meef), 
> > > this
> > > *should* work.  However, all messages get logged to both the console
> 
> > > appender and the file appender.
> > > 
> > > Help is appreciated.
> > > 
> > > Matt
> > > 
> > > My full log4j.xml file:
> > > 
> > > 
> > > 
> > > 
> > > http://jakarta.apache.org/log4j/";>
> > > 
> > >   
> > > 
> > >   
> > > 
> > >   
> > >   
> > >> > class="org.apache.log4j.RollingFileAppender">
> > >  > > value="${catalina.home}[EMAIL PROTECTED]@/error.log"/>
> > > 
> > > 
> > > 
> > > 
> > >   
> > > 
> > > 
> > >   
> > >   
> > >   
> > >  
> > >   
> > > 
> > > 
> > >   
> > >   
> > >   
> > > 
> > > 
> > > 
> > >   
> > > 
> > > 
> >

Re: Elementary question

2003-09-08 Thread Paul Smith
Could you not place the configuration file in the root of the
/WEB-INF/classes/ ?  Log4j will automatically find "log4j.xml" or
"log4j.properties" if it is located there.

Alternatively you could use the
Thread.currentThread.getContextClassLoader(), this should work well
inside a Webapp.

cheers,

Paul Smith

On Mon, 2003-09-08 at 12:23, Bhamidi Krishna wrote:
> Hi,
> 
> I am trying to configure log4j for an app. Currently, I have deployed 
> it on Tomcat. My code snippet is -
> 
> ..
> String configFileName = "com.common.logger.xml";
> URL url = null;
> Context ctx=null;
> ctx = new InitialContext();
> url = ctx.getClass().getResource(configFileName); 
> .
> 
> I put the xml file under a directory structure under classes in my 
> web-app. The issue is that the URL is null. 
> 
> I also tried other options like making the string 
> \com\common\logger.xml and com\common\logger.xml
> 
> Another approach I tried was to get Thread.currentThread.getClassLoader
> and read the URL from there, I get a vague null pointer exception and 
> zip exception.
> 
> I am sorry if this is a very elementary question, but I could not find 
> any solutions in the lists also. 
> 
> Krishna.
> 
> 
> 
> -
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: LogFactor5 and SocketHubAppender functionality

2003-09-08 Thread Paul Smith
If you don't want to wait for the official release, the HEAD version of
Chainsaw v2 supports it via defining it in a log4j configuration file,
and we're -> <- close to tidying up the UI to specify it via the GUI
too.

cheers,

Paul Smith

On Tue, 2003-09-09 at 05:22, Lance Birtcil wrote:
> Hi,
> 
> Has anyone been successful in getting a SocketHubAppender type solution to work with 
> LogFactor5 in the 1.2.8 release?  I'm looking to be able to specify a port on my 
> server that multiple LogFactor5 clients can connect to to receive logging events.  
> From what I can tell, LF5 only works with SocketAppenders -- a pity since I have to 
> create a separate SocketAppender for each machine on which I want to be able to view 
> logging events.
> 
> In reading posts in the mail archive, it seems that the new Receiver framework 
> should allow the type of behavior that I'm looking for in LF5.  However, I'm hoping 
> that I don't have to wait for 1.3.x to get this working. 
> 
> How about it?  Anyone gotten this to work in 1.2.8?
> 
> Thanks,
> --LB
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Plans for supporting a build in level of "trace"

2003-09-23 Thread Paul Smith
IMHO, the simplicity of Debug/info/warn/error/fatal is one of Log4j's
strengths. I personally would not want Trace  However, if I required
Trace-style logging, I would simply log to a dotted logger name
"---.trace".  

E.g If I have a component "com.mycompany.mycomponent", I have a
complimentary "com.mycomany.mycomponent.trace" logger, and configure
Log4j to suppress this logger under normal circumstances.  

The other advantage to this approach is that you can get all Trace style
logs into their own appender very easily (attach the appropriate
appender to each .trace logger in the config), which means my trace logs
are separated easily from the other debug, which I think is what a lot
of people are worried about.  I can't see anyone wanting to wade through
Trace AND Debug log messages to find things out, but maybe I can't see
the use case that other people have.

Having said all this, as a Log4j developer I wonder since we've
previously made a lot of effort to match JDK 1.4's syntax (e.g.
Category->Logger, Priority->Level), one might argue that it's not too
much effort to go that extra mile to just add the Trace level for those
that way inclined.

Perhaps those log4j dev-people who were involved in the Log4j-JDK1.4
matching development might be able to comment on any rationale etc.  But
for me, I'm very happy with the current Trace-less log4j.

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Plans for supporting a build in level of "trace"

2003-09-24 Thread Paul Smith
On Thu, 2003-09-25 at 01:03, Larry Young wrote:
> Paul,
> 
>  Actually, based on our conversation back in August, it works out 
> better if you put the "trace" at the front of the class name, that way you 
> still can specify package names and get everything underneath it, and you 
> can also turn on tracing without a package or class name.  For example, 
> 'trace.com.acme.utils' would turn on tracing for all classes under the 
> utils package.  That's a bit harder to do with 'trace' at the end.

Thanks for refreshing my memory Larry, as I was writing it I tried to
remember our conversation, and got myself muddled.  Must be lack of
coffee.

I am excited by the new Domain concept that Ceki is developing, sounds
like it will solve a large number of logging issues.

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: SMTPAppender and BufferSize.

2003-09-28 Thread Paul Smith
On Sun, 2003-09-28 at 04:03, [EMAIL PROTECTED] wrote:
> Greetings:
>   I have what I hope to be a simple question.
> 
>   We are using the log4j implementation in JBoss 3.0.4.
> 
>   When I activate the SMTP Appender for ERROR level to send me an email
> for any exceptions and stack traces,
>  I was under the impression that I could buffer events and have the
> email contain more than one log entry in the email body.
> 
>   I get an email for every single log entry. Am I way off base?

There are 2 important properties for SMTPAppender, the EvaluatorClass,
and the Threshold.  You have set the Threshold to Error, and the
appender is using the default EvaluatorClass which matches ERROR. 
Basically it's the EvaluatorClass property that determines WHEN to send
the email, and uses the Buffer of events received since the last
Triggering event.  Since you have the threshold set to ERROR, the
appender is only letting that 1 event get in the Buffer.  

Try setting the Threshold to INFO, and you should find the email you
receive should contain the last X INFO-and-above events plus the ERROR
event that triggered it.

> I have simply started using the commented config in the  log4j.xml supplied
> by Jboss.
> 
> 
> 
> 
> 
> 
> 
> 
> 
>   
> 
>   

If the Error message itself contains everything you need to know, then
this is fine, but at any rate I think the BufferSize is misleading
here.  Perhaps an issue to address with the JBoss team?

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chaining

2003-10-01 Thread Paul Smith
This is where the NDC would be useful.

In Class 2:

NDC.push("Class 2");

In Class 1:

NDC.push("Class 1");

Then when you are ready to log a message:

log.debug("Message");

The NDC entries will be available via the LoggingEvent that is send to
the appender, so if you configure an appender to actually output the
contents of the NDC, you'll be able to see it. (see things like
PatternLayout on how to explicitly request NDC to be output in the
appender).  NDC acts as a Stack for each Thread of execution, so it
retains the order of push/pop.

Don't forget to NDC.pop() at the end of each method where you
NDC.push(...)..

cheers,

Paul Smith

On Thu, 2003-10-02 at 01:10, David Liles wrote:
> I just started using log4j and am having trouble trying to figure out how to chain 
> logging messages
>  
> class 1 makes a call to class 2 I would like to be able to pass the message from 
> class 2 to class 1 where it would ultimately be logged, that way when I review the 
> log file it would show that the message originated in class 2, but would be 
> displayed something like this:
>  
> class2 -> class1 - message.
>  
> Hope I'm making sense
>  
> Thanks - Dave


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4j for Custom logging *NEWBIE*

2003-10-09 Thread Paul Smith
On Thu, 2003-10-09 at 18:21, Kunal H. Parikh wrote:
> Hi All !
> 
> I have been looking at Log4j and after some reading I believe that Log4j
> is mainly used for debugging or error logging or info logging.
> 
> I have a scenario where I may need to log every search conducted on our
> website.
> 

Absolutely, Log4j would work beautifully in this regard.  You can take
advantage of the log4j framework to log the details in all sorts of
ways.

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: SMTP Appender Threshold

2003-10-09 Thread Paul Smith
By default, the SMTPAppender _waits_ for an ERROR level logging event to
arrive, and sends with it the BufferSize # of previous events before it
inside the email for use in context.  Think of the Buffer as a sliding
window of events that gets triggered by the arrival of Error.

There are some configuration parameters to set which allow you to
determine exactly what is the appropriate trigger, an ERROR level event
is just the default.

Consult the JavaDocs on the SMTPAppender for more information, or Ceki's
book "The Complete Log4j Manual" is an excellent source for this.

cheers,

Paul

On Fri, 2003-10-10 at 01:17, Ken Hoying wrote:
> Ok.  I seem to have the SMTP Appender working now but
> it seems to be ignoring my Threshold property setting.
>  I want to test by sending DEBUG messages to teh SMTP
> appender.  However, it seems to be ignoring these.  Is
> this a bug?
> 
> Thanks,
> Ken
> 
> __
> Do you Yahoo!?
> The New Yahoo! Shopping - with improved product search
> http://shopping.yahoo.com
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: MemoryAppender

2003-10-09 Thread Paul Smith
This is exactly what the SMTPAppender does, uses a sliding window
(BufferSize property) to hold the events until a triggering event occurs
(by default an ERROR level event).

cheers,

Paul Smith

On Fri, 2003-10-10 at 04:07, [EMAIL PROTECTED] wrote:
> Most of our production applications have log threshold set to INFO most
> of
> the time. Request data and response is not logged at INFO level. But to
> trouble-shoot an ERROR, the support folks like to have detailed
> information
> about the request that saw the error. It is not always possible to
> recreate
> that error, and there is not much benefit of chaging the log level
> later. I
> am sure this is a familiar issue.
> 
> One solution to the above problem is to use an MemoryAppender for DEBUG
> level and capture the data required for troubleshooting for each request
> in
> a Collection that stores this info for, say last 50 requests, and dumps
> this to another appender on a predefined event. The predefined event
> could
> be a FATAL error or a user initiated event.
> 
> Is there a similar Appender available in the distribution or the sandbox
> ?
> 
> Thanks
> Shuchi


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: SMTP Appender Threshold

2003-10-09 Thread Paul Smith
Check out the JavaDocs for the setEvaluatorClass(String) method on
SMTPAppender, and see the JavaDocs for the TriggeringEventEvaluator
interface.

By setting the Threshold of the SMTPAppender, you are defining what
events are candidates to go into the buffer, rather than what triggers
the sending of the email.

cheers,

Paul Smith

On Fri, 2003-10-10 at 07:50, Ken Hoying wrote:
> Looking at the documentation, it would appear that
> setting the Threshold parameter to DEBUG should
> accomplish what I want.  However, this does not appear
> to be working as documented.  I think this is a bug.
> 
> Thanks,
> Ken
> 
> --- Paul Smith <[EMAIL PROTECTED]> wrote:
> > By default, the SMTPAppender _waits_ for an ERROR
> > level logging event to
> > arrive, and sends with it the BufferSize # of
> > previous events before it
> > inside the email for use in context.  Think of the
> > Buffer as a sliding
> > window of events that gets triggered by the arrival
> > of Error.
> > 
> > There are some configuration parameters to set which
> > allow you to
> > determine exactly what is the appropriate trigger,
> > an ERROR level event
> > is just the default.
> > 
> > Consult the JavaDocs on the SMTPAppender for more
> > information, or Ceki's
> > book "The Complete Log4j Manual" is an excellent
> > source for this.
> > 
> > cheers,
> > 
> > Paul
> > 
> > On Fri, 2003-10-10 at 01:17, Ken Hoying wrote:
> > > Ok.  I seem to have the SMTP Appender working now
> > but
> > > it seems to be ignoring my Threshold property
> > setting.
> > >  I want to test by sending DEBUG messages to teh
> > SMTP
> > > appender.  However, it seems to be ignoring these.
> >  Is
> > > this a bug?
> > > 
> > > Thanks,
> > > Ken
> > > 
> > > __
> > > Do you Yahoo!?
> > > The New Yahoo! Shopping - with improved product
> > search
> > > http://shopping.yahoo.com
> > > 
> > >
> >
> -
> > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > 
> > 
> >
> -
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > 
> 
> 
> __
> Do you Yahoo!?
> The New Yahoo! Shopping - with improved product search
> http://shopping.yahoo.com
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: controlling log directory

2003-10-09 Thread Paul Smith
On Fri, 2003-10-10 at 10:03, Henrik Vendelbo wrote:
> How do you configure log directory. I would prefer setting it independent of
> the file name.
> Can I define it in log4j.properties, or by modifying properties runtime ?
> 
> I currently use absolute paths just with forward / under NT, but apparently
> it isnt working.

Hi Henrik,

We have this line at the top of our log4j.properties file:

webappRoot=/var/tomcat4/webapps/

then in our appender config:

log4j.appender.taipanAppender.file=${webappRoot}Taipan/logs/taipan-log4j.log

This allows a little more flexibility in defining a base directory etc. 
For windows, you will probably need something like:

webappRoot=c:\\toolkit\\tomcat4.0\\webapps\\

Mainly because of \ need to be escaped.

Hope this helps you.

regards,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Newbie question on setting different levels

2003-11-11 Thread Paul Smith
I have to admit that everything you have indicated here looks fine.  At
what point does the DOMConfigurator.configure("log4j.xml") call get
made? I am assuming here that it is called _before_ the call to
getEffectiveLevel(). By default all Loggers will be INFO until a
configuration sets to otherwise.

cheers,

Paul Smith


On Wed, 2003-11-12 at 11:13, Scott Smith wrote:
> I've been reading through documentation on log4j and thought I understood
> how everything works.  But there is something I'm missing.  
> 
> Since several of the Jakarta libraries seem to log to the root logger, I
> wanted to set up the root logger with the appenders.  Then I would set the
> root logger to pass ERROR or above and my own logger to pass DEBUG or above
> (so I'd see everything from my app, but only errors from the libraries).
> Based on that, I generated the following configuration file.
> 
> 
> --
> 
> 
> 
> http://jakarta.apache.org/log4j/";
> debug="true">
>   
>   
>   
>   
>   
>   
>"org.apache.log4j.DailyRollingFileAppender">
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
>   
> 
> 
> -
> 
> When I execute:
>   DOMConfigurator.configure("log4j.xml");
> Everything seems to be fine and I see the following from log4j:
> 
> 
> log4j: Threshold ="null".
> log4j: Retreiving an instance of org.apache.log4j.Logger.
> log4j: Setting [com.mainstreamdata.messager] additivity to [true].
> log4j: Level value for com.mainstreamdata.messager is  [debug].
> log4j: com.mainstreamdata.messager level set to DEBUG
> log4j: Level value for root is  [error].
> log4j: root level set to ERROR
> log4j: Class name: [org.apache.log4j.ConsoleAppender]
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c %m%n].
> log4j: Adding appender named [CONSOLE] to category [root].
> log4j: Class name: [org.apache.log4j.DailyRollingFileAppender]
> log4j: Setting property [file] to [./Logs/log].
> log4j: Setting property [immediateFlush] to [true].
> log4j: Setting property [append] to [true].
> log4j: Setting property [datePattern] to ['.' -MM-dd].
> log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
> log4j: Setting property [conversionPattern] to [%d %-5p %m%n].
> log4j: setFile called: ./Logs/log, true
> log4j: setFile ended
> log4j: Appender [FILE] to be rolled at midnight.
> log4j: Adding appender named [FILE] to category [root].
> ---
> 
> All of which looks OK to me.  Here's the problem.  I don't see any of my
> DEBUG logs go to either appender.  In fact, if I execute the following line
> of code:
> 
>   System.out.println("Effective Level for " + lggr.getName() + " is "
> + lggr.getEffectiveLevel());
> 
> It says:
> 
>   Effective Level for com.mainstreamdata.messager is INFO
> 
> I don't want INFO; I want DEBUG.  If I hadn't set my logger in the config
> file to DEBUG, I would have expected it to default to ERROR (the root logger
> level).  I also tried enumerating through the logger repository (off of the
> root logger) to see if I had something misspelled and I really had two
> loggers enabled, but it only shows the one (non-root) logger.  Oh, and if I
> set the level programmatically to DEBUG, it works as I expect.  Also, I
> printed the effective level of the root logger and it showed up as ERROR
> (which is what I said in the configuration file and so was also expected).
> What am I missing
>   
> Thanks for any help.
> 
> Scott Smith
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Newbie question on setting different levels

2003-11-11 Thread Paul Smith
On Wed, 2003-11-12 at 13:57, [EMAIL PROTECTED] wrote:
> Scott,
>  
> Is it possible that the Jakarta libraries are reconfiguring log4j on you after your 
> configuration has run?  I ran into this with the open source Joram JMS 
> implemnetation.  As soon as I started using the Joram classes, some static Joram 
> code would reconfigure log4j and blow away my whole configuration.  Can you try 
> running configure after calling some library methods?

Mark, good thinking, I'd put some money down that something like that is
happening, a similar thing happened to me.

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Newbie question on setting different levels

2003-11-12 Thread Paul Smith
On Thu, 2003-11-13 at 03:45, Scott Smith wrote:
> OK, you are forcing me to admit my sins.  This morning I woke up and guessed
> the problem (I knew I should have waited another day before asking for
> help).  

I think that there must be a universal Law somewhere about this, I've
also found numerous times, the answer to something staring me in the
face seconds after sending an email

Glad it's all sorted!

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Configuration error

2003-11-12 Thread Paul Smith

On Thu, 2003-11-13 at 02:22, Dimitri Pissarenko wrote:
> Hello!
> 
> I'm getting the log4j error message
> 
> 
> log4j:WARN No appenders could be found for logger (SomeClass).
> log4j:WARN Please initialize the log4j system properly.
> 
> 
> 

Most likely candidate is that some where in the Test case code/thread of
execution, that is re-initialising Log4j after your explicit init call,
but before the call to the Logger in question. 

cheers,

Paul

> This happens in a test case, which has the following main function:
> 
> 
> import junit.framework.TestSuite;
> 
> public class SomeTestSuite extends TestSuite {
>   
>   ...
>   public static void main(String[] args) {
>   ConsoleAppender consoleAppender=null;
>   
>   consoleAppender=new ConsoleAppender();
>   BasicConfigurator.configure();
>   Logger.getRootLogger().addAppender(consoleAppender);
> 
> Logger.getLogger(SomeClass.class).addAppender(consoleAppender);
>   
>   junit.swingui.TestRunner.run(SomeTestSuite.class);
>   }
>   ...
> }
> 
> 
> Why does this error occur despite that fact that I explicitly add 
> an appender to the Logger of SomeClass?
> 
> How can solve this problem?
> 
> TIA
> 
> Dimitri Pissarenko
> 
> PS: I'm using log4j 1.2.8
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Configuration error

2003-11-12 Thread Paul Smith
I was also thinking that you might consider putting a Log message
immediately following the BasicConfigurator.configure() call.  If you
receive this message to the console, then something else is re-initing
Log4j.

BTW, 2 things about your code:

* The BasicConfigurator will automatically add and configure a Console
appender, should be no need to add one yourself.

* Appenders have an activateOptions() method that should be called after
all setters properties have been set, if you create an appender
manually. 

cheers,

Paul

> public class SomeTestSuite extends TestSuite {
>   
>   ...
>   public static void main(String[] args) {
>   ConsoleAppender consoleAppender=null;
>   
>   consoleAppender=new ConsoleAppender();
>   BasicConfigurator.configure();
>   Logger.getRootLogger().addAppender(consoleAppender);
> 
> Logger.getLogger(SomeClass.class).addAppender(consoleAppender);
>   
>   junit.swingui.TestRunner.run(SomeTestSuite.class);
>   }
>   ...
> }
> 
> 
> Why does this error occur despite that fact that I explicitly add 
> an appender to the Logger of SomeClass?
> 
> How can solve this problem?
> 
> TIA
> 
> Dimitri Pissarenko
> 
> PS: I'm using log4j 1.2.8
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: I cannot figure out where my extra message line comes from on the console

2003-11-12 Thread Paul Smith
The BasicConfigurator already creates and configures a ConsoleAppender
automatically, so the other one that you are adding is doubling up. (The
output with the time is your appender is your one I think).

cheers,

Paul

On Thu, 2003-11-13 at 09:40, Chang, Betty wrote:
> Hi all--  (I'm a new user, so please forgive).
> 
>  
> 
> Here's my simple program:
> 
>  
> 
> --
> 
>  
> 
> import org.apache.log4j.*;
> 
>  
> 
> public class MyApp
> 
> {
> 
> static Logger logger = Logger.getLogger("myapp");
> 
> public static void main (String[] args)
> 
> {
> 
> PatternLayout pl = new PatternLayout("%-5p %d
> %m%n");
> 
> ConsoleAppender cappnd = new
> ConsoleAppender(pl);
> 
> BasicConfigurator.configure(cappnd);
> 
> 
> 
> 
> logger.info("here");
> 
> }
> 
> }
> 
>  
> 
> And here's my output :
> 
>  
> 
>  - here
> 
> INFO  2003-11-12 14:38:53,530 here
> 
>  
> 
> I cannot figure where the extra line with "- here " on my console comes
> from.
> 
> I must be doing something silly.  
> 
>  
> 
> Thanks
> 
>  
> 
> Betty
> 
>  
> 
> 
> 
> 
> 
> 
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: I cannot figure out where my extra message line comes from on the console

2003-11-12 Thread Paul Smith
On Thu, 2003-11-13 at 10:00, [EMAIL PROTECTED] wrote:
> Paul -
> 
> Are you sure about that?  I thought that only happened with
> BasicConfigurator.configure() (no params).
> 
>   /**
>  Add appender to the root category.
>  @param appender The appender to add to the root category.
>   */
>   static
>   public
>   void configure(Appender appender) {
> Logger root = Logger.getRootLogger();
> root.addAppender(appender);
>   }
> 
> 
> Maybe she is picking up a log4j config file from the classpath?

Ken, you're 100% correct, I miss-read her code.

Betty, I would suggest commenting out all the lines except the
logger.info.  What you should see is a warning about no appenders being
found, but if you get output, then something else is configuring Log4j. 
If this is the case, try adding -Dlog4j.debug=true to the command line
as you run your code, this should output info on what config file it is
picking up.

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: I cannot figure out where my extra message line comes from on the console

2003-11-12 Thread Paul Smith
log4j.properties or log4j.xml,  somewhere in the classpath.

Paul

On Thu, 2003-11-13 at 10:10, Chang, Betty wrote:
> Hi -- If I'm picking up some kind of default config file,   what would
> it be called?
> 
> Thanks
> 
> Betty
> 
> 
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 12, 2003 3:01 PM
> To: [EMAIL PROTECTED]
> Subject: RE: I cannot figure out where my extra message line comes from
> on the console
> 
> Paul -
> 
> Are you sure about that?  I thought that only happened with
> BasicConfigurator.configure() (no params).
> 
>   /**
>  Add appender to the root category.
>  @param appender The appender to add to the root category.
>   */
>   static
>   public
>   void configure(Appender appender) {
> Logger root = Logger.getRootLogger();
> root.addAppender(appender);
>   }
> 
> 
> Maybe she is picking up a log4j config file from the classpath?
> 
> Ken
>   
> 
> 
> 
> > -Original Message-
> > From: Paul Smith [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, November 12, 2003 5:54 PM
> > To: Log4J Users List
> > Subject: Re: I cannot figure out where my extra message line 
> > comes from
> > on the console
> > 
> > 
> > The BasicConfigurator already creates and configures a ConsoleAppender
> > automatically, so the other one that you are adding is 
> > doubling up. (The
> > output with the time is your appender is your one I think).
> > 
> > cheers,
> > 
> > Paul
> > 
> > On Thu, 2003-11-13 at 09:40, Chang, Betty wrote:
> > > Hi all--  (I'm a new user, so please forgive).
> > > 
> > >  
> > > 
> > > Here's my simple program:
> > > 
> > >  
> > > 
> > > --
> > > 
> > >  
> > > 
> > > import org.apache.log4j.*;
> > > 
> > >  
> > > 
> > > public class MyApp
> > > 
> > > {
> > > 
> > > static Logger logger = Logger.getLogger("myapp");
> > > 
> > > public static void main (String[] args)
> > > 
> > > {
> > > 
> > > PatternLayout pl = new 
> > PatternLayout("%-5p %d
> > > %m%n");
> > > 
> > > ConsoleAppender cappnd = new
> > > ConsoleAppender(pl);
> > > 
> > > BasicConfigurator.configure(cappnd);
> > > 
> > > 
> > > 
> > > 
> > > logger.info("here");
> > > 
> > > }
> > > 
> > > }
> > > 
> > >  
> > > 
> > > And here's my output :
> > > 
> > >  
> > > 
> > >  - here
> > > 
> > > INFO  2003-11-12 14:38:53,530 here
> > > 
> > >  
> > > 
> > > I cannot figure where the extra line with "- here " on my 
> > console comes
> > > from.
> > > 
> > > I must be doing something silly.  
> > > 
> > >  
> > > 
> > > Thanks
> > > 
> > >  
> > > 
> > > Betty
> > > 
> > >  
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>  
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: I cannot figure out where my extra message line comes from onthe console

2003-11-12 Thread Paul Smith

> Okay -- so my next question is -- what's the easiest way to get my
> program to ignore that log4j.properties file? (I don't really want
> to use my own file -- I just want to configure it in the code).

I think the following System property would do it:

-Dlog4j.defaultInitOverride=true

This will suppress the auto-log4j init.

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw - viewing log files from client side

2003-11-19 Thread Paul Smith
First question, are we talking about Chainsaw v1 (part of the log4j
1.2.8 distribution), or Chainsaw v2, which accessible from CVS, but not
officially released as yet.


On Thu, 2003-11-20 at 02:31, Daniel J Mauer wrote:
> Hi,
> 
> I am looking for a way to view log files stored on the server from a client
> machine, and am wondering if Chainsaw can be used for this purpose.  I know
> Chainsaw uses a JFileChooser to load files, which I believe cannot be used
> to access files on a remote server?  If it can, how would one restrict
> access to just the directory where the log files are stored?  Finally, does
> anyone know how to start Chainsaw from code rather than from a script?  I
> would like for it to be possible for our users to start Chainsaw from our
> application whenever they want to look at log files.  Thanks!

If you are willing to try things direct from CVS, we might be able to
help.  v1 of Chainsaw is not being actively maintained, but v2 is
currently in heavy, if sporadic, development.

Loading a remote XML file via a standard URL has not made it into the v2
version as yet.  It really should be simple to do, so maybe I should get
off my but and do it

Starting from within a running VM would be a little difficult at the
moment, I think I could add a static factory method to create one for
you.   Would that help?

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How do I use filters in AND condition fashion?

2003-11-19 Thread Paul Smith
On Thu, 2003-11-20 at 05:16, Scott Deboy wrote:
> I'm not sure about whether this capability is available using the latest
> distribution's set of filters, but I've contributed a simple expression
> language and an ExpressionFilter (should be a part of the next release)
> which provide support for expressions using a number of operators,
> grouping (parens), AND, OR and NOT operators, etc..  You will be able to
> define an expression like:
> 
> "( LEVEL == INFO ) && ( MSG == TEST )"

Hey Scott, is this in CVS yet?  I can't seem to locate it.  

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How do I use filters in AND condition fashion?

2003-11-19 Thread Paul Smith
On Thu, 2003-11-20 at 09:17, Scott Deboy wrote:
> Yes...currently in the varia package, although I understand Mark may be
> planning a move to a new package for the filters.
> 

Bizarre, I was doing a search from within Eclipse, and I could not find
it in the source, I must be going loopy.

> By the way, since the expressionfilter relies on the rules we've been
> working on, the rules should probably move out from under the chainsaw
> package. 

Yes, a good candidate for their own package under org.apache.log4j

thanks.

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Log4J Question

2003-11-20 Thread Paul Smith
On Thu, 2003-11-20 at 22:51, Jones, Marty B. wrote:
> I was wondering if Log4J will allow me to do the following:
> 
> configure a RollingFileAppender that logs standard output.
> configure a RollingFileAppender that logs info and warning output.
> configure a RollingFileAppender that logs error level output.
> 
> have a single logger that will use one of the above appenders based upon the
> logging level of the log method called within a given class.

Yes, you can do this.  

* You will need to use the XML configuration file, as this supports
appender filters.
* Define each of the appenders in the xml file, and create a filter
section for each resepective appender based on the level.

* attach all the appenders to your single logger.

The wiki has a good example on this:
http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages/LogByLevel

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw - viewing log files from client side

2003-11-20 Thread Paul Smith
On Fri, 2003-11-21 at 05:16, Daniel J Mauer wrote:
> Thanks.  I have Chainsaw v1.  If you let me know how to access the V2
> software I can give it a try.  If the new version includes code for loading
> a remote XML file via a standard URL and a static factory method to start
> Chainsaw I think that might be beneficial.

Hi Daniel, I have made some changes to Chainsaw to provide the features
you requested.  From the File menu, the is now a load a remote URL menu
item. (might be a little rough around the edges, haven't done heaps of
testing)

You can also use the org.apache.log4j.chainsaw.LogUI method:

  public static void createChainsawGUI(boolean showSplash, Action
shutdownAction)

The Action to pass in is called if the user initiates the exit action,
passing null will cause Chainsaw to use the default which is to quit the
vm.

You can access this from the Apache Cvs (See
http://jakarta.apache.org/site/cvsindex.html for more info).  Download
the jakarta-log4j CVS module, and use ant to run the 'jar' target.  Then
you can use the generated jars, log4j-1.3alpha.jar and
log4j-chainsaw-1.3alpha.jar in the classpath of your app.

I would really appreciate it if you did try this out to let us know how
you go, and if you have any issues, we'll try to help out as much as
possible.

cheers,

Paul Smith



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: TelnetAppender generates NullPointerException

2003-11-25 Thread Paul Smith

> log4j.appender.telnet.port=23
> 

I think that might need to be:

log4j.appender.telnet.Port=23

As the java bean property introspection rules are case sensitive, (it
looks for a "setPort" method)

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: I am not getting stack trace from logger.error("error",e)?

2003-11-27 Thread Paul Smith
On Fri, 2003-11-28 at 10:45, Robert Augustyn wrote:
> Hi Ceki,
> I am getting just one line like:
> Java.NullPointerException:

This maybe only a very slight possibility, but I have seen exactly what
you are describing in our production environment when we are using the
-server option under the Sun 1.4.2 JDK under Linux (no JBoss though). 
Just a single line with no more information.

See this bug:
http://developer.java.sun.com/developer/bugParade/bugs/4761344.html

They say it is fixed in 1.4.2, and while it does not happen with the
frequency it used to, it's one to look out for.  Not using the -server
option seems to help, although you lose some performance there.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How to configure log4j to generate XMLLayout compatible output.

2003-11-27 Thread Paul Smith
On Fri, 2003-11-28 at 11:42, Robert Augustyn wrote:
> Hi,
> I am playing around with chainsaw and it does not look
> like it
> recognizes my log file.
> I understand that chainsaw expects XMLLayout
> compatible output file for
> it to be able to parse it.
> How do you do that?
> Thanks a lot.
> Robert
> Btw: I am using version which comes with ver 1.2.8 of
> log4j.

Hi Robert,

Do you have an appender configured that outputs using the XMLLayout
layout class?  That's the first step.  If so, is Chainsaw throwing an
error?  We'll need a few more details to help you. 

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j configuration.

2003-11-27 Thread Paul Smith
Please add another system property switch:  

-Dlog4j.debug=true 

e.g.

java -Dlog4j.configuration=file://c:/jarfiles/log4j.properties
org.pdfbox.searchengine.lucene.LucenePDFDocument C:\\pdf\h6603lab4.pdf

and cut/paste what is displayed to standard out into an email to this
list so that we can see what is happening..

cheers,

Paul Smith

> You keep insisting on using non-url syntax for your setup even when you
> reference the correct URL syntax.  Do this...
> 
> java -Dlog4j.configuration=file:/c:/jarfiles/log4j.properties
> org.pdfbox.searchengine.lucene.LucenePDFDocument C:\\pdf\h6603lab4.pdf
> 
> Also, why are you saying...
> c:\\jarfiles\log4j.properties
> 
> You are escaping the first "\", but not the second one in the path.  Shouldn't
> it be?...
> c:\\jarfiles\\log4j.properties
> 
> Anyway, you have to use the URL syntax above for things to work.  BTW, I've also
> seen the URL file syntax on Windows be...
> file:///c:/jarfiles/log4j.properties
> 
> Use whichever one works for you.
> 
> Jake
> 
> At 05:01 PM 11/27/2003 +0800, you wrote:
> >Hi,
> >
> >I put my log4j.properties file in c:\\jarfiles and I did the following:
> >
> >java -Dlog4j.configuration=c:\\jarfiles\log4j.properties
> >org.pdfbox.searchengine.lucene.LucenePDFDocument C:\\pdf\h6603lab4.pdf
> >
> >But I get the following:
> >
> >log4j:WARN No appenders could be found for logger 
> >(org.pdfbox.pdfparser.PDFParser).
> >log4j:WARN Please initialize the log4j system properly.
> >
> >I read the manual at
> >
> >http://jakarta.apache.org/log4j/docs/manual.html
> >
> >It says the following needs to be done for Tomcat 4:
> >
> >For example:
> >set 
> >CATALINA_OPTS=-Dlog4j.configuration=file:/c:/jarfiles/log4j.properties
> >In the environment variables.
> >And I did just that.
> >Can I do the following?
> >
> >java -Dlog4j.configuration=c:\\jarfiles\log4j.properties
> >org.pdfbox.searchengine.lucene.LucenePDFDocument C:\\pdf\h6603lab4.pdf 
> >I can choose the ignore the error message but I would like to solve 
> >this problem before moving on.
> >Anyone can help?
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How to configure log4j to generate XMLLayout compatible output.

2003-11-27 Thread Paul Smith
> No I have no appender configured using XMLLayout.
> Where can I find an example? I have looked through the
> distribution and
> could find nothing.
> Chainsaw does not throw an error it says 0 loaded
> events when opening
> the file.
> Thanks a lot.
> robert

It's pretty easy, here's a snippet from a log4j.properties file:

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
log4j.appender.A1.append=true
log4j.appender.A1.file=/somepathonyoursystem/log.xml

You may want to browse the Wiki:
http://nagoya.apache.org/wiki/apachewiki.cgi?Log4JProjectPages/FrequentlyAskedQuestions

In case configuring Log4j via property files is new, you may find this
URL useful:

http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String,
 org.apache.log4j.spi.LoggerRepository)

cheers,

Paul Smith

On Fri, 2003-11-28 at 12:25, Robert Augustyn wrote:



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j configuration.

2003-11-27 Thread Paul Smith
On Fri, 2003-11-28 at 12:36, Tun Lin wrote:
> Hi Paul,
> 
> Thanks for your help and quick response but I still get the same error message
> although there are some additional statements printed out after running the
> following command as instructed by the last email.
> 

This is good, it helps to see that Log4j has found the file ok.

> Command typed:
> java -Dlog4j.configuration=file:///c:/jarfiles/log4j.properties
> -Dlog4j.debug=true org.pdfbox.searchengine.
> lucene.LucenePDFDocument C:\\pdf\h6603lab4.pdf
> 
> Error message:
> log4j: Using URL [file:/c:/jarfiles/log4j.properties] for automatic log4j config
> uration.
> log4j: Reading configuration from URL file:/c:/jarfiles/log4j.properties
> log4j: Parsing for [root] with value=[stdout].
> log4j: Level token is [stdout].
> log4j: Category root set to DEBUG
> log4j: Finished configuring.
> log4j:WARN No appenders could be found for logger (org.pdfbox.pdfparser.PDFParse
> r).
> log4j:WARN Please initialize the log4j system properly. 

Next, please paste the entire contents of the
c:/jarfiles/log4j.properties file into another email to the list.  It
looks like that is the culprit.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Log4j configuration.

2003-11-27 Thread Paul Smith
On Fri, 2003-11-28 at 13:37, Tun Lin wrote:
> Thanks for your help! It works! If I want to see the log file. Where can I see
> it? 

There will be no log 'file' as such as this configuration sends the
output to Standard Error (the System.err stream).  If you were to
redirect this to a file then you could keep it there permanently, but I
think what you really want is a FileAppender (as opposed to the
ConsoleAppender that you have configured at the moment).

See the javadocs on the file appender for more information.

cheers,

Paul

> -Original Message-
> From: Paul Smith [mailto:[EMAIL PROTECTED] 
> Sent: Friday, November 28, 2003 10:02 AM
> To: [EMAIL PROTECTED]
> Subject: RE: Log4j configuration.
> 
> On Fri, 2003-11-28 at 12:52, Tun Lin wrote:
> > Hey Paul,
> > 
> > Really appreciate your help.
> > 
> > Here is the properties file I used:
> > 
> > log4j.rootCategory=stdout
> > 
> > log4j.appender.stdout=org.apache.log4j.ConsoleAppender
> > log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
> > log4j.appender.stdout.layout.ConversionPattern=%d %c - %m%n
> 
> 
> Here's one that I use, why not replace yours with this one initially, and see if
> it works better.  
> 
> log4j.rootCategory=INFO, A1
> log4j.appender.A1=org.apache.log4j.ConsoleAppender
> log4j.appender.A1.target=System.err
> log4j.appender.A1.layout=org.apache.log4j.PatternLayout
> log4j.appender.A1.layout.conversionPattern=[%d{ISO8601} %-5p][%20.20c] %m%n
> 
> >From comparing the two, you are missing the 'target' property, and have
> a capital letter for the conversionPattern (Java is very strict on case
> sensitivity when it comes to Property getter/setters)
> 
> 
> Hope this helps,
> 
> Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How stable is Chainsaw 2?

2003-11-28 Thread Paul Smith
It's very stable, and very usable with features be added all the time, but
the current functionality is very usable (I might be biased, I am one of the
developers of the new version)

You will need to download the jakarta-log4j module from the apache cvs, you
can find the general procedure for retrieving cvs modules here:
http://jakarta.apache.org/site/cvsindex.html

>From there, modify the build.properties.sample file to suit your local
sitation (like where a couple of jar files are located) and then use Ant:

ant chainsaw

Let us know if you have any troubles downloading and/or running it.

cheers

Paul Smith

> -Original Message-
> From: Robert Augustyn [mailto:[EMAIL PROTECTED]
> Sent: Friday, 28 November 2003 5:24 PM
> To: 'Log4J Users List'
> Subject: How stable is Chainsaw 2?
> 
> 
> Hi,
> I wonder if Chainsaw 2 is a usable product?
> If so where can I get it?
> Thanks.
> robert
> 
> 
> __
> Do you Yahoo!?
> Free Pop-Up Blocker - Get it now
> http://companion.yahoo.com/
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How stable is Chainsaw 2?

2003-11-28 Thread Paul Smith
It should have created 3 jar files, one with chainsaw in it's name.  Ant may
be ignoring chainsaw's build phase because you are missing some dependant
jars.

Have you edited the build.properties.sample? (I've found that you have to
make sure there is not BOTH a build.properties.sample and a
build.properties, the build picks up the former first.)

Otherwise cut/paste the output of the full build to the list so we can see
what is going on.

cheers, and thanks for taking the time to have a look at chainsaw v2.

Paul

-Original Message-
From: Robert Augustyn
To: 'Log4J Users List'
Sent: 11/29/03 8:04 AM
Subject: RE: How stable is Chainsaw 2?

Paul,
I downloaded it and run it.
It created 2 jar files but neither has logUI in it so
when it tries to
start it gets :
ava.lang.NoClassDefFoundError:
org/apache/log4j/chainsaw/LogUI
None of Chainsaw classes get created either.

Robert


-Original Message-
From: Paul Smith [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 28, 2003 2:04 AM
To: 'Log4J Users List'
Subject: RE: How stable is Chainsaw 2?


It's very stable, and very usable with features be
added all the time,
but

the current functionality is very usable (I might be
biased, I am one of
the

developers of the new version)



You will need to download the jakarta-log4j module
from the apache cvs,
you

can find the general procedure for retrieving cvs
modules here:

http://jakarta.apache.org/site/cvsindex.html



>From there, modify the build.properties.sample file to
suit your local

sitation (like where a couple of jar files are
located) and then use
Ant:



ant chainsaw



Let us know if you have any troubles downloading
and/or running it.



cheers



Paul Smith



> -Original Message-

> From: Robert Augustyn [mailto:[EMAIL PROTECTED]

> Sent: Friday, 28 November 2003 5:24 PM

> To: 'Log4J Users List'

> Subject: How stable is Chainsaw 2?

> 

> 

> Hi,

> I wonder if Chainsaw 2 is a usable product?

> If so where can I get it?

> Thanks.

> robert

> 

> 

> __

> Do you Yahoo!?

> Free Pop-Up Blocker - Get it now

> http://companion.yahoo.com/

> 

>
-

> To unsubscribe, e-mail:
[EMAIL PROTECTED]

> For additional commands, e-mail:
[EMAIL PROTECTED]

> 



-

To unsubscribe, e-mail:
[EMAIL PROTECTED]

For additional commands, e-mail:
[EMAIL PROTECTED]




__
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How stable is Chainsaw 2?

2003-11-28 Thread Paul Smith
>  Not from what I can see.  Only build.properties is 
> loaded.  build.properties.sample is ignored and is only used as a
> template.

Jake, you are correct.  I must be thinking of another project.

Robert, we'll definately need to see the output of the ant target as it
runs.

cheers,

Paul Smith

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: How stable is Chainsaw 2?

2003-11-29 Thread Paul Smith
I have to say that that is bizarre.  Are you saying after running this that
there is no log4j-chainsaw-1.3alpha.jar in the root of your jakarta-log4j
directory?

What JDK are you using, and what version of Ant are you using? (I notice
that by your paths you have an interesting JDK, jdev905preview? or is this
being done via a GUI IDE? If so I would recommend trying to run chainsaw
from the command line first.

BTW, I am in the GMT +10 timezone, so apologise for any lag in
communication.

cheers,

Paul Smith

-Original Message-
From: Robert Augustyn
To: 'Log4J Users List'
Sent: 11/29/03 4:40 PM
Subject: RE: How stable is Chainsaw 2?

Paul,
This is an output I get.

:\java\jdev905preview\jdk\bin\javaw.exe -classpath
H:\java\jdev905preview\jdk\lib\tools.jar;H:\cvs\jakarta-log4j\dist\class
es;H:\java\jdev905preview\jdev\lib\ant.jar;H:\java\jdev905preview\jdev\l
ib\optional.jar;H:\java\jdev905preview\lib\xmlparserv2.jar;H:\java\jdev9
05preview\lib\xmlcomp.jar;H:\java\jdev905preview\jdev\classes;H:\java\jd
ev905preview\ide\lib\javatools.jar;H:\java\jdev905preview\ide\lib\ide.ja
r;H:\java\jdev905preview\jdev\lib\jdev.jar;H:\java\jdev905preview\jdev\l
ib\ojc.jar org.apache.tools.ant.Main
-Djdev.home=H:\java\jdev905preview
-buildfile H:\cvs\jakarta-log4j\build.xml chainsaw
Buildfile: H:\cvs\jakarta-log4j\build.xml

init:

oroCheck:

chainsawCheck:

build.core:
[mkdir] Created dir:
H:\cvs\jakarta-log4j\dist\classes
[javac] Compiling 199 source files to
H:\cvs\jakarta-log4j\dist\classes

build.chainsaw:

build.lf5:
[javac] Compiling 44 source files to
H:\cvs\jakarta-log4j\dist\classes
[javac] Note:
H:\cvs\jakarta-log4j\src\java\org\apache\log4j\lf5\viewer\LogBrokerMonit
or.java uses or overrides a deprecated API.
[javac] Note: Recompile with -deprecation for
details.
 [copy] Copying 3 files to
H:\cvs\jakarta-log4j\dist\classes

build.examples:
[mkdir] Created dir:
H:\cvs\jakarta-log4j\examples\classes
[javac] Compiling 12 source files to
H:\cvs\jakarta-log4j\examples\classes
 [rmic] RMI Compiling 1 class to
H:\cvs\jakarta-log4j\examples\classes

jaxpCheck:

jaxp:
 [echo] JAXP present.

build.xml:
[javac] Compiling 7 source files to
H:\cvs\jakarta-log4j\dist\classes
 [copy] Copying 1 file to
H:\cvs\jakarta-log4j\dist\classes\org\apache\log4j\xml
 [copy] Copying 1 file to
H:\cvs\jakarta-log4j\dist\classes\org\apache\log4j\xml

javamailCheck:

javamail:
 [echo] JAVAMAIL is present.

build.javamail:
[javac] Compiling 1 source file to
H:\cvs\jakarta-log4j\dist\classes

jmsCheck:

jms:

jndiCheck:

jndi:
 [echo] JNDI is present.

build.jms:

jmxCheck:

jmx:

build.jmx:

avalonFrameworkCheck:

avalonFramework:

build.avalonFramework:

build:

log4j.jar:
   [delete] Deleting 1 files from H:\cvs\jakarta-log4j
  [jar] Building jar:
H:\cvs\jakarta-log4j\log4j-1.3alpha.jar

log4j-chainsaw.jar:
   [delete] Deleting 1 files from H:\cvs\jakarta-log4j
 [copy] Copying 71 files to
H:\cvs\jakarta-log4j\dist\classes
  [jar] Building jar:
H:\cvs\jakarta-log4j\log4j-chainsaw-1.3alpha.jar

chainsaw:
 [java] java.lang.NoClassDefFoundError:
org/apache/log4j/chainsaw/LogUI
 [java] Exception in thread "main" 
 [java] Java Result: 1

BUILD SUCCESSFUL
Total time: 16 seconds
[12:38:01 AM] Nothing to build.

-Original Message-----
From: Paul Smith [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 28, 2003 10:41 PM
To: 'Log4J Users List '
Subject: RE: How stable is Chainsaw 2?


>  Not from what I can see.  Only build.properties is

> loaded.  build.properties.sample is ignored and is
only used as a

> template.



Jake, you are correct.  I must be thinking of another
project.



Robert, we'll definately need to see the output of the
ant target as it

runs.



cheers,



Paul Smith



-

To unsubscribe, e-mail:
[EMAIL PROTECTED]

For additional commands, e-mail:
[EMAIL PROTECTED]




__
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AW: DailyRollingFileAppender with filesize option

2003-12-01 Thread Paul Smith
Hi Carsten,

It is my understanding, and I may be wrong here, that Ceki has
completely rewritten the whole rolling appender framework to allow much
more flexibility in the composition of different rules for rolling. This
unfortunately not in the released version at this time, but the 1.3
release is not that far away.

We appreciate your contribution, perhaps you could attach the files to a
bug item (if you haven't done so already), so that your efforts don't
get lost if my understanding is not correct.

cheers,

Paul Smith

On Mon, 2003-12-01 at 20:57, Bansemir, Carsten wrote:
> Hi, some time ago i wrote the following to the log4j-dev mailing list:
> 
> 
> Hi, 
> I had several problems with the DailyRollingFileAppender (see user mailing list), so 
> I downloaded the DailyRollingAppenderExt.jar but I can't find the source of this 
> file again (so I also can't find out the author of this Class).
> 
> I extended this class so that the Appender rolls by date AND by size, like the 
> CompositeRollingFileAppender does, with the difference that it logs to a different 
> file every day, without having to rename any files (that was the problem with 
> threads logging to yesterday's dir because the Java method "renameTo()" fails in the 
> RollingFileAppender or the CompositeRollingFileAppender.
> 
> My question is: Are you interested in this Appender? and if so, do you know who the 
> original author of DailyRollingFileAppenderExt was? 
> I would like to give this appender out to the people searching for something like 
> that in the mailing list, it's almost an FAQ, but I would like to ask the original 
> author before.
> 
> 
> So if someone finds out the the author of the original DailyRollingFileAppenderExt 
> please tell me, that I can give out the modified one to the people who want it.
> 
> 
> -UrsprÃngliche Nachricht-
> Von: Manju Joseph [mailto:[EMAIL PROTECTED]
> Gesendet: Sonntag, 30. November 2003 03:08
> An: [EMAIL PROTECTED]
> Betreff: Fwd: DailyRollingFileAppender with filesize option
> 
> 
> 
> 
> Hello..,
> 
> Me too getting the same error.Can  any one help
> 
> 
> MANJU
> 
> >From: "Divya Shetty" <[EMAIL PROTECTED]>
> >Reply-To: "Log4J Users List" <[EMAIL PROTECTED]>
> >To: "Log4J Users List" <[EMAIL PROTECTED]>
> >Subject: DailyRollingFileAppender with filesize option
> >Date: Sat, 29 Nov 2003 14:30:46 +0530
> >
> >In the CompositeRollingAppender, the reference made to setFile provides a 
> >String and boolean as parameter while the setFile in FileAppender which 
> >accepts two arguments expects Layout and Boolean.
> >Hence am unable to compile ti..
> >
> >None in our project has used log4J before and the lack of time is causing 
> >to be a deterent in workign it out for ourselves.
> >Would it be possible to either download the CompositeRollingAppender.class 
> >or the jar which has been updated with the CompositeRollingAppender.class ?
> >
> >
> >
> >- Original Message -
> >From: Divya Shetty
> >To: Log4J Users List
> >Sent: Saturday, November 29, 2003 1:32 PM
> >Subject: Fw: DailyRollingFileAppender with filesize option
> >
> >
> >I downloaded log4j-1.2.8.jar.
> >Along with this i found the CompositeRollingAppender.java in the 
> >contributions folder.
> >
> >In this file, on line 362 the method super.setFile(fileName, append) is 
> >called.
> >In the FileAppender, there is no overloaded method where only two arguments 
> >are provided and hence it fails in the compilation.
> >
> >Is this a known issue or has someone already resolved it?
> >
> >Thanks
> >
> >Divya
> >
> >- Original Message -
> >From: Divya Shetty
> >To: Log4J Users List
> >Sent: Saturday, November 29, 2003 11:00 AM
> >Subject: DailyRollingFileAppender with filesize option
> >
> >
> >Hi,
> >
> >I have the following log4j property file:
> >
> >log4j.rootLogger=debug, A
> >log4j.logger.SickPay=debug, SP
> >
> >log4j.appender.SP=org.apache.log4j.DailyRollingFileAppender
> >log4j.appender.SP.File=COMMON~1\\Trial\\SP.log
> >log4j.appender.SP.MaxFileSize=1KB
> >log4j.appender.SP.MaxBackupIndex=6
> >log4j.appender.SP.layout=org.apache.log4j.PatternLayout
> >log4j.appender.SP.layout.ConversionPattern=%d ::%m%n
> >
> >I need to roll over the file on basis of both the date and Size of the 
> >file.
> >When i run the application it gives me the compilation error:
> >log4j:WARN No such prope

RE: Resolution: How stable is Chainsaw 2?

2003-12-01 Thread Paul Smith
On Tue, 2003-12-02 at 15:29, Robert Augustyn wrote:
> Scott,
> Thank you for your help. 
> I like this version, is it possible to run it with
> current production
> version of log4j?
> Thanks.
> robert

Definately, I was using this with log4j 1.2.7 a few months ago until we
(finally!) upgraded to 1.2.8.  No problems at all.

Feel free to post suggestions, comments etc to this list.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: timestamp in chainsaw v2

2003-12-02 Thread Paul Smith
At this stage there is no way to do it via the GUI, but we do have plans to
add this feature before release.  Internally this is how it is accomplished,
but we decided to initially have a few likely options as simple choices.
there will definately be a custom option. 

Maybe I can slip this feature in earlier since you are using chainsaw v2
already.  

Let us know if there is anything else you are passionate about, or if you
find any issues.

cheers,

Paul Smith

-Original Message-
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 12/2/03 6:39 PM
Subject: timestamp in chainsaw v2

hi guys,

what i am missing in chainsaw v2 is the possibility to define the
timestamp
mask.
in the log panel preferences you can only specify three different
timestamp
masks.
is there any way to define your own timestamp mask like dd.MM.
HH:mm:ss
or am i missing something?

servus uli




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: additivity trouble

2003-12-02 Thread Paul Smith
You have attached the console appender to the logger you wish to ignore, in
this line:

log4j.category.fr.MyClass=INFO, console

This means that any INFO message for that logger will go to the console
appender, which really means that this entry is redundant.

What I think you want is to modify this line:

log4j.category.fr.MyClass=INFO, console

to either:

log4j.category.fr.MyClass=OFF

or:

log4j.category.fr.MyClass=INFO

The former is more efficient since logs will be ignored at an earlier stage,
while the latter means that INFO and above are 'accepted', but since there
is no logger attached (and additivity is off) they do not end up anywhere.

Hope that helps.

cheers,

Paul Smith
-Original Message-
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 12/2/03 7:31 PM
Subject: additivity trouble

Hello everybody,

I'm using a root category for all the logs and i want to exclude a class
from these logs, here is my log4j.properties file


log4j.rootCategory=INFO, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p [%t] %40c %x - %m%n

log4j.category.fr.MyClass=INFO, console
log4j.additivity.fr.MyClass=false


This doesn't work.
Can someone help me?
Thanks in advance...


Ahmed ALAMI
SDV (Support Outils Dévellopement NTIC)
Tel : 05 57 75 60 52




JUST GEEK CODE
-BEGIN GEEK CODE BLOCK-
Version: 3.12
GCM d s+: a C+ UL++ P L++ E++ W++ N++ o K- w
O M- V- PS++ PE+ Y+ PGP+ t 5 X R tv+ b+++ DI+ D
G++ e+++ h+ r++ x+
--END GEEK CODE BLOCK--
-BEGIN JAVA GEEK CODE BLOCK-
Version: 0.01b
Epvbdemon+++()@$*
--END JAVA GEEK CODE BLOCK--
 <>  <> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: timestamp in chainsaw v2

2003-12-02 Thread Paul Smith
> what i am missing in chainsaw v2 is the possibility to define the
> timestamp
> mask.
> in the log panel preferences you can only specify three different
> timestamp
> masks.
> is there any way to define your own timestamp mask like dd.MM.
> HH:mm:ss
> or am i missing something?
> 
> 
I've added this feature to CVS now, let me know how it goes.

Be aware that any saved preference loading might throw a mismatched
serialId exception as the underlying preference model class as been
changed.  Sorry about that.  The preference stuff is still a moving
target and will probably happen a few times until release.

cheers,

Paul Smith





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Antwort: RE: timestamp in chainsaw v2

2003-12-02 Thread Paul Smith
> another feature i think would be useful could be:
> right click on the tab would open a context dialog where you could close
> the tab.
> the same function as you would : View->Display Tabs->...

Ulrich, this feature also managed to get done today.  Right click on a
tab to see the popup.  The old View->Display Tabs has been removed
in favour of the new feature, and we'll eventually have a separate
'Window' top level menu to assist in the managing of all Tabs and
undocked windows.

Let me know what you think.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Antwort: Re: Antwort: RE: timestamp in chainsaw v2

2003-12-03 Thread Paul Smith
Yes, I know exactly what you mean, I'll add it to the list of things.

THanks.

Paul

> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 3 December 2003 5:52 PM
> To: Log4J Users List
> Subject: Antwort: Re: Antwort: RE: timestamp in chainsaw v2
> 
> 
> 
> cool, thanks Paul.
> 
> tonight i will take look at it and let you know.
> 
> another feature which comes to my mind :
> double click on the border line between two columns sizes the 
> column to its
> optimal width.
> like in excel. i have problems to describe this behaviour in 
> english, so
> ask me again
> if you don't understand what i mean.
> 
> servus uli
> 
> 
> 
> 
>   
>   
>
>   Paul Smith  
>   
>
>   <[EMAIL PROTECTED]An:   
> Log4J Users List <[EMAIL PROTECTED]>  
> 
>   x.com.au>Kopie: 
>   
>
>Thema:Re: 
> Antwort: RE: timestamp in chainsaw v2 

>   03.12.03 03:35  
>   
>
>   Bitte antworten 
>   
>
>   an "Log4J Users 
>   
>
>   List"   
>   
>
>   
>   
>
>   
>   
>
> 
> 
> 
> 
> > another feature i think would be useful could be:
> > right click on the tab would open a context dialog where 
> you could close
> > the tab.
> > the same function as you would : View->Display Tabs->...
> 
> Ulrich, this feature also managed to get done today.  Right click on a
> tab to see the popup.  The old View->Display Tabs has been removed
> in favour of the new feature, and we'll eventually have a separate
> 'Window' top level menu to assist in the managing of all Tabs and
> undocked windows.
> 
> Let me know what you think.
> 
> cheers,
> 
> Paul Smith
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: chainsaw v2

2003-12-04 Thread Paul Smith
re: multiselecting and stopping receivers.  That's a fair call, I hadn't
thought of that situation, it should be straight forward.

Thanks also for the note on the NPE on the welcome Tab, I think I know what
that is.  

Also, I am not sure what you mean by right clicking 'next to' a tab.  Could
you expand a bit more for me?

cheers, and thanks for the feedback, keep it coming.

cheers,

Paul Smith

-Original Message-
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 12/4/03 6:40 PM
Subject: chainsaw v2

hi paul,

yesterday i tested the changes you made.
the custom timestamp format is exactly what i was looking for. well
done.

another cool feature would be :
if you select more than on receiver in the receiver panel and you press
the
stop button,
all the selected receivers have to stop. it is not a very important
thing
but could be very
handy if you have more receivers running (like me).

the context menu on the tabs is also exactly what i was wanted.
if you right click besides a tab you could get also get an context menu?

i don't know if it is a known issue :
if you right click on the welcome tab and close it then you get an npe.
here is the stacktrace :

java.lang.NullPointerException
at org.apache.log4j.chainsaw.LogUI$2.actionPerformed(Unknown
Source)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractB
utto

n.java:1839)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.ja
va:4

20)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113
)
at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(B
asic

MenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea
d.ja

va:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.
java

:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



FW: chainsaw v2

2003-12-04 Thread Paul Smith
[forgot to send this to the list]

-Original Message-
From: Paul Smith
To: '[EMAIL PROTECTED] '
Sent: 12/4/03 9:41 PM
Subject: RE: chainsaw v2

Ulrich, the bug you mentioned, plus the feature you requested are now
done, and available from cvs.

cheers,

Paul Smith

-Original Message-
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 12/4/03 6:40 PM
Subject: chainsaw v2

hi paul,

yesterday i tested the changes you made.
the custom timestamp format is exactly what i was looking for. well
done.

another cool feature would be :
if you select more than on receiver in the receiver panel and you press
the
stop button,
all the selected receivers have to stop. it is not a very important
thing
but could be very
handy if you have more receivers running (like me).

the context menu on the tabs is also exactly what i was wanted.
if you right click besides a tab you could get also get an context menu?

i don't know if it is a known issue :
if you right click on the welcome tab and close it then you get an npe.
here is the stacktrace :

java.lang.NullPointerException
at org.apache.log4j.chainsaw.LogUI$2.actionPerformed(Unknown
Source)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractB
utto

n.java:1839)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.ja
va:4

20)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113
)
at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(B
asic

MenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea
d.ja

va:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.
java

:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: chainsaw v2

2003-12-08 Thread Paul Smith
On Tue, 2003-12-09 at 00:54, [EMAIL PROTECTED] wrote:
> hi paul and scott,
> 
> is it possible to implement a dialog to confirm that the user wants to exit
> der chainsaw v2 app (perhaps an JOptionPane)?

It's certainly possible, we elected to not bother with this as it is
generally infrequent that a user would exit accidently.  Are we
mistaken?

At any rate, there will be some Global application settings added to
Chainsaw at some point and I am certain this one could be added.

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: I am not getting stack trace from logger.error("error",e)?

2003-12-08 Thread Paul Smith
Depends how you log your stacktrace.  If you log like this:

private static final Logger LOG = Logger.getLogger(.);

...
try {

}
catch(Exception e) {
  LOG.error(e);
}

Then you WILL only get the error message without the rest of the stack
trace.  The reason is that the exception is going to the
loggers.error(Object) method, and Log4j is simply calling the
.toString() on the Exception object.

This is a common mistake, and I've forgotten this several times myself. 

What you really need to do is:

LOG.error("An error happened here", e);

This will ensure that the full stacktrace is output (assuming that the
JDK 1.4.2 doesn't still get you)

cheers,

Paul Smith

On Tue, 2003-12-09 at 07:23, struts wrote:
> I am also getting the similiar problem. Just I was able to see the stack
> trace in the console, but in the database, I can just see the error message
> without stack trace. Attached is my log4j.xml file. Anybody knows why?
> 
> Thanks.
> 
> Song
> 
> "Robert Augustyn" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> > Paul,
> > Thanks, I am running 1.4.2 vm and it does not look
> > like it's fixed...
> > It is real pain!.
> > robert
> >
> > -Original Message-
> > From: Paul Smith [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, November 27, 2003 7:02 PM
> > To: Log4J Users List
> > Subject: RE: I am not getting stack trace from
> > logger.error("error",e)?
> >
> >
> > On Fri, 2003-11-28 at 10:45, Robert Augustyn wrote:
> >
> > > Hi Ceki,
> >
> > > I am getting just one line like:
> >
> > > Java.NullPointerException:
> >
> >
> >
> > This maybe only a very slight possibility, but I have
> > seen exactly what
> >
> > you are describing in our production environment when
> > we are using the
> >
> > -server option under the Sun 1.4.2 JDK under Linux (no
> > JBoss though).
> >
> > Just a single line with no more information.
> >
> >
> >
> > See this bug:
> >
> > http://developer.java.sun.com/developer/bugParade/bugs/4761344.html
> >
> >
> >
> > They say it is fixed in 1.4.2, and while it does not
> > happen with the
> >
> > frequency it used to, it's one to look out for.  Not
> > using the -server
> >
> > option seems to help, although you lose some
> > performance there.
> >
> >
> >
> > cheers,
> >
> >
> >
> > Paul Smith
> >
> >
> >
> >
> >
> > -
> >
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> >
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> >
> >
> >
> >
> > __
> > Do you Yahoo!?
> > Free Pop-Up Blocker - Get it now
> > http://companion.yahoo.com/
> 
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> begin 600 log4j.xml
> M/#]X;[EMAIL PROTECTED] M5%E012!L;V M"CQL;V M87!P96YD97(@;F%M93TB1DE,12(@8VQA M+F%P<&5N9&5R+D1A:6QY4F]L;&EN9T9I;&5!<'!E;F1E M MVIB;W-S+G-E M M(B!V86QU93TB=')U92(O/@T*("`@(#QP87)A;2!N86UE/2)$871E4&%T=&5R
> M;B(@=F%L=64](B7DM34TM9&0B+SX-"B`@("`\;&%Y;W5T(&-L87-S
> M/2)O M M)6-=("5M)6XB+SX-"B`@("`\+VQA>6]U=#X)("`@(`T*("`\+V%P<&5N9&5R
> M/@T*("`)#0H@("`@/&%P<&5N9&5R(&YA;64](DI$0D,B(&-L87-S/2)C;VTN
> M='5M8FQE=V5E9"YM97-S96YG97(N;&]G9VEN9RY-97-S96YG97)*1$)#07!P
> M96YD97(B/@T*("`@(#QP87)A;2!N86UE/2)4:')E M4E)/4B(O/@T*("`@(#QP87)A;2!N86UE/2)S<6PB(`T*("`@("`@("!V86QU
> M93TB:6YS97)T(&EN=&[EMAIL PROTECTED];G1,;V=%=F5N=',@*`T*("`@("`@("`@("`@
> M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!E=F5N=%1Y<&4L"0D)
> M"0D)"0D)"0T*("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
> M("`@("`@("!E=F5N=$UA8VAI;F4L#0H@("`@("`@("`@("`@("`@("`@("`@
> M("`@("`@("`@("`@("`@("`@("`@(&5V96YT5&[EMAIL PROTECTED]@("`@("`@("`@
> M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&

Re: I am not getting stack trace from logger.error("error",e)?

2003-12-08 Thread Paul Smith
D'oh... I am assuming from the subject line that you are already doing
this.

Perhaps I should have paid more attention.  Sorry for the waste of
bandwidth.

I'll now go and make my first coffee of the day to minimise the risk of
my foot getting anywhere near my mouth again.

cheers,

Paul

On Tue, 2003-12-09 at 08:11, Paul Smith wrote:
> Depends how you log your stacktrace.  If you log like this:
> 
> private static final Logger LOG = Logger.getLogger(.);
> 
> ...
> try {
> 
> }
> catch(Exception e) {
>   LOG.error(e);
> }
> 
> Then you WILL only get the error message without the rest of the stack
> trace.  The reason is that the exception is going to the
> loggers.error(Object) method, and Log4j is simply calling the
> .toString() on the Exception object.
> 
> This is a common mistake, and I've forgotten this several times myself. 
> 
> What you really need to do is:
> 
> LOG.error("An error happened here", e);
> 
> This will ensure that the full stacktrace is output (assuming that the
> JDK 1.4.2 doesn't still get you)
> 
> cheers,
> 
> Paul Smith
> 
> On Tue, 2003-12-09 at 07:23, struts wrote:
> > I am also getting the similiar problem. Just I was able to see the stack
> > trace in the console, but in the database, I can just see the error message
> > without stack trace. Attached is my log4j.xml file. Anybody knows why?
> > 
> > Thanks.
> > 
> > Song
> > 
> > "Robert Augustyn" <[EMAIL PROTECTED]> wrote in message
> > news:[EMAIL PROTECTED]
> > > Paul,
> > > Thanks, I am running 1.4.2 vm and it does not look
> > > like it's fixed...
> > > It is real pain!.
> > > robert
> > >
> > > -Original Message-
> > > From: Paul Smith [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, November 27, 2003 7:02 PM
> > > To: Log4J Users List
> > > Subject: RE: I am not getting stack trace from
> > > logger.error("error",e)?
> > >
> > >
> > > On Fri, 2003-11-28 at 10:45, Robert Augustyn wrote:
> > >
> > > > Hi Ceki,
> > >
> > > > I am getting just one line like:
> > >
> > > > Java.NullPointerException:
> > >
> > >
> > >
> > > This maybe only a very slight possibility, but I have
> > > seen exactly what
> > >
> > > you are describing in our production environment when
> > > we are using the
> > >
> > > -server option under the Sun 1.4.2 JDK under Linux (no
> > > JBoss though).
> > >
> > > Just a single line with no more information.
> > >
> > >
> > >
> > > See this bug:
> > >
> > > http://developer.java.sun.com/developer/bugParade/bugs/4761344.html
> > >
> > >
> > >
> > > They say it is fixed in 1.4.2, and while it does not
> > > happen with the
> > >
> > > frequency it used to, it's one to look out for.  Not
> > > using the -server
> > >
> > > option seems to help, although you lose some
> > > performance there.
> > >
> > >
> > >
> > > cheers,
> > >
> > >
> > >
> > > Paul Smith
> > >
> > >
> > >
> > >
> > >
> > > -
> > >
> > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > >
> > > For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> > > __
> > > Do you Yahoo!?
> > > Free Pop-Up Blocker - Get it now
> > > http://companion.yahoo.com/
> > 
> > 
> > 
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > begin 600 log4j.xml
> > M/#]X;[EMAIL PROTECTED] > PROTECTED]/SX-"CPA1$]#
> > M5%E012!L;V > M"CQL;V > M87!P96YD97(@;F%M93TB1DE,12(@8VQA > M+F%P<&5N9&5R+D1A:6QY4F]L;&EN9T9I;&5!<'!E;F1E > M > MVIB;W-S+G-E > M > M(B!V86QU93TB=')U92(O/@T*("`@(#QP87)A;2!N86UE/2)$871E4&%T=&5R
> > M;B(@=F%L=64](B7DM34TM9&0B+SX-"B`@("`\;&%Y;W5T(&-L87-S
> > M/2)O > M > M)6-=("5M)6XB+SX-"B`@("`\+VQA>6]U=#X)("`@(`T*("`\+V%P

Re: Chainsaw

2003-12-08 Thread Paul Smith
On Tue, 2003-12-09 at 08:49, eugene akerman wrote:
> Hi Scott, Hi Paul
> So I am looking at chainsaw and it looks great. I was using LogFactor
> until now but I feel I should go with Chainsaw. 
> Is it possible to get an historic point of view on Chainsaw. For example
> Why did you guys decide to work on chainsaw as opposed to logFactor ?
> Thank you for your answer

For me personally, I found the original Chainsaw on SourceForge, and
then found it had become part of the log4j package, so I guess I had
become accustomed to Chainsaw, and had some affinity for it.  LogFactor5
is great, there's no doubt about it.  

Since the Receiver framework was added to log4j, we've been able to
leverage a lot of log4j core code.

If you look at the code for Chainsaw v2 and compare it with the
original, there is not a lot left of the original apart from some of the
basic principles, and one might say in hindsight it might have been
quicker to start from scratch, but that wouldn't be as fun.  

In some ways it has been like a house renovation. It has had some walls
knocked out, floors sanded & laquered, painted, a new kitchen, a brand
new deck out the front, and had some new furniture put in.  

Still feels like the old place, only newer.

cheers,

Paul



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can we control the logging level to class level instead of package level?

2003-12-08 Thread Paul Smith
you'll need to switch additivity off for the logger you want disabled,
otherwise the LoggingEvent gets passed up the logger hierarchy to the
root logger

The short manual has info on this:

http://jakarta.apache.org/log4j/docs/manual.html (see the bit on
additivity)

But when you get Ceki's book, that'll help even more.

Paul

On Tue, 2003-12-09 at 13:02, Song wrote:
> It seems that root config will override the logger config, is this true?
> Give the following configuration, I still see error event from
> EventLoggerSessionEJB logged into database. But if I change the logging
> level from 'INFO' to 'FATAL', the event will not be logged.
> 
> 
> Here is part of my log4j config:
>  name="com.tumbleweed.messenger.server.ejb.impl.EventLoggerSessionEJB">
> 
> 
>   
> 
> 
>   
> 
> 
> 
> 
>   
> 
> Thanks.
> 
> Song
> 
> "Scott Heaberlin" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> > Certainly - you could define a logger with the name of the class itself,
> > then effectively squelch it:
> >
> > via DOMConfigurator:
> >
> > 
> >  
> > 
> >
> > 
> >
> > 
> >
> > 
> >
> >
> > 
> >
> > You can achieve similar results with PropertyConfigurator (see the
> > online log4j manual) or,
> >
> > 
> > check out The Complete Log4j Manual by Ceki Gulcu
> > 
> >
> >
> > -Scott Heaberlin
> >
> >
> >
> > > -Original Message-
> > > From: news [mailto:[EMAIL PROTECTED] On Behalf Of Song
> > > Sent: Monday, December 08, 2003 7:48 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: Can we control the logging level to class level
> > > instead of package level?
> > >
> > >
> > >  Hi,
> > > Can I do something like this :
> > >
> > > For specific class in certain package, don't log the event
> > > using specific appender while allowing other classes in the
> > > same package to do that?
> > >
> > > Thanks.
> > >
> > > Song
> > >
> > >
> > >
> > >
> > > -
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Chainsaw]: Ant-based installer

2003-12-10 Thread Paul Smith
Hi all,

We are getting closer and closer to releasing log4j 1.3 (and yes, we
will get there).  In the mean time if anyone is slightly curious about
the new Chainsaw v2 that will be a part of this release, I have written
an Ant-based 'installer' that takes a lot of the effort required to get
everything that is needed for it.  (see the attached file)  

Chainsaw v2 is stable and very useful right now, with a number of people
using it everyday for production use (monitoring sites using log4j
1.2.7+).  We are just adding more features to make it more enterprise
ready.

To run this installer, you need installed:

* Ant
* CVS

This script just checks out the latest jakarta-log4j cvs module to your
local machine, downloads some other required bits and pieces, and sets
up some configs.

You can run the installer by saving the attached xml file to a directory
where you would like Chainsaw installed, and typing:

ant -f install-chainsaw.xml

and follow the prompts.  After the installation, you can cd into the
jakarta-log4j directory and 'ant chainsaw' to run Chainsaw v2.

This script can be run at any time to update what has been downloaded so
you can toy with the latest version whenever you wish.

Feel free to ask questions on this list if you have any problems or
thoughts.

cheers, 

Paul Smith


	
  
	
	

	

	
		

CHAINSAW v2 installer

This Ant build script will perform the following:
   * Download the jakarta-log4j module from the Apache CVS
   * Dowload the latest binary version of the Jakarta ORO project from www.ibiblio.org

It will create the following artifacts in the current directory (whereever this Ant script is)
   * a jarkarta-log4j directory, containing the log4j source tree
   * a jakarta-oro-2.0.7.zip file
   * a jakarta-oro-2.0.7 directory containing the unpacked ORO jar from the aforementioned zip file



  

Installation aborted by user.
  

  

  

	

		  http://www.ibiblio.org/pub/mirrors/apache/jakarta/oro/${oro.file.name}";
dest="${oro.location}"
verbose="true"
usetimestamp="true"/>






  


	



  
  


  

	

  
		
Installation completed successfully.

You should now be able to do the following to run Chainsaw v2:

  cd jakarta-log4j
  ant chainsaw

GOOD LUCK!

  


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: [Chainsaw]: Ant-based installer

2003-12-10 Thread Paul Smith
> One initial comment tho, is there a way to list the full ignore list in a
> table or something.
> I'm playing with our app and ignoring some loggers, now want to see which
> ones I'm ignoring.
> I know that they are italliced in the tree, but our tree is large, and I've
> only ignored a few..
> 
> Is there a quick way to see what is ignored.
> 

Maybe a popup  dialog or inline panel under the logger tree that could
be shown/hidden, with a list of loggers (full dotted package name) on
the ignore list, which you can uncheck?  

Glad to hear that the installer worked a treat.

cheers,

Paul Smith




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [Chainsaw]: Ant-based installer

2003-12-10 Thread Paul Smith
> One other options might be to just hide/show items that are ignored in the
> tree, then with an expand all option, you don't even need a new ui.
> 

Right now you can ignore a specific logger, but that doesn't imply that
it should ignore all it's children as well, so if we hide a logger node
in the tree, it removes the ability to manage the children (all the
children nodes won't be visible).  

Creating a new panel would be easy anyway.

> Then I'm sure at a later date the idea of showing/hiding loggers based on
> some sort of constraint could be re-used.

Do you have a certain style of constraint in mind here?  Be good to have
all this in the back of my mind as I'm developing.

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [Chainsaw]: Ant-based installer

2003-12-10 Thread Paul Smith

> I noticed that behaviour, is there a reason.  It's a bit annoying to have to
> turn off each sub-logger.  When configuring loggers, if you set a logger to
> FATAL, then all sub-loggers are converted to FATAL, right??  Shouldn't
> chainsaw replicate this idea.
> 
> Most times nodes in a logger tree are packages, while the leaves are actual
> classes.  It would be nice to ignore an entire package, like utils or
> something.
> 
> I can see both cases, but wondered why you went with explicit logger
> ignoring..

Had thought of this, but imagine you had wanted to ignore a top level
package, but not the children

It needs some more work to handle both cases.  Be nice to have a Ignore
+ all children, and the reverse...

We'll get there.

cheers,

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Thinking about log4j performance

2003-12-11 Thread Paul Smith
In almost all cases this is correct, the logging done to the appender is
all done within the same thread.

Only the AsyncAppender performs it's appending in a separate thread.

regards,

Paul Smith

On Thu, 2003-12-11 at 19:32, Yu Xiang Xi (Maveo) wrote:
> It's known that log4j has a good performance even 'on an AMD Duron clocked
> at 800Mhz running JDK 1.3.1' machine.
> 
> If I have lot of appenders, for example, a socket appender, which will cost
> 0.1 second to communicate with the socket server, and there's still a file
> appender in the system all the same.
> 
> My puzzle is that, will socket appender and file appender work at the same
> time?
> Or run socket appender first, and AFTER socket appender done, file appender
> later.
> And the system will hold on till all the appenders are invoked?
> 
> Might it can be explained in the below assumption codes.
> Assumption
> 
> methodA();  //(1)
> logger.debug("hello,log4j") //(2) hold on till all appenders are invoked
> one by one?
> methodB();  //(3)
> 
> 
> Best Regards
> Xi Yuxiang
> System Architect
> Maveo Systems Limited - www.maveosystems.com
> Email: [EMAIL PROTECTED] 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Dynamic Configuration

2003-12-11 Thread Paul Smith
Problem 1: I think we'll need to see the code where you initialise the
logger, and where you do the actual logging.  Storing a local reference
to the logger is fine, and the recommended practice.  If you make it
static, even better, I am not sure why you would want the GC to collect
it.

Problem 2: I have seen this message myself and might be due to some code
logging at the same time as the new properties are being applied.  If
the configuration effectively changes an appenders configuration, log4j
must stop/close the old appender before creating a new instance with the
new config.

Paul

On Fri, 2003-12-12 at 10:34, Shimi Avizmil wrote:
> Anyone? I'm really lost here ...
> 
> TIA
> 
> >  -Original Message-
> > From:   Shimi Avizmil  
> > Sent:   Thursday, 11 December 2003 3:29 PM
> > To: '[EMAIL PROTECTED]'
> > Subject:Dynamic Configuration
> > 
> > Hi all, 
> > I spent few hours going through the past messages, but I couldn't find an 
> > answer to my problems. 
> > Problem 1: 
> > I have few ejbs under weblogic that get the log throught getClass().getName() 
> > and keep a copy locally. (Not static) 
> > My first problem is that the log messages are appearing under incorrect class 
> > name, i.e. 
> > 14:39:11,701 [main] INFO ejbA - I'm ejb B 
> > Why is that? 
> > problem 2: 
> > I wrote a swing gui that you can load a new properties file remotely to my app 
> > on the weblogic server and it calls PropertyConfigurator.configure(props) with the 
> > new properties. After I do that I get a lot of ERRORS: trying to append to a 
> > closed appender... 
> > Why does that happen? is that because I cache the logger reference in stead of 
> > fetching it every time? 
> > should I make it static? if I'll make it static, will it effect the gc from 
> > collecting it? 
> > Thanks for the help. 
> > Cheers 
> > Shimi
> > 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Dynamic Configuration

2003-12-11 Thread Paul Smith
On Fri, 2003-12-12 at 10:59, Shimi Avizmil wrote:
> First of all thanks for the reply !
> 
> Problem 1:
> private Log log = MySystem.getLog(getClass().getName());
> 
> I'm not talking about gc the logger, I'm talking about a case where if I have an 
> object that has a static logger reference, and this object is not used anymore, will 
> this object get gced? I don't think so...if it won't, I don't think it's a good 
> practice to keep a static reference. 
> 

When you have:

private static final Logger LOG = Logger.getLogger(TheClass.class);

The LOG instance is kept with the _class_ and not with the instance of
the class, and hence will have no bearing on the GC'ing of the
instance(s).

Each instance does not hold onto refs of static vars, but has access to
them when needed via it's Class instance.

> I'm still not clear about this one. I saw in one of the archive messages that 
> changing the appenders is not supported, is this true?

I tweak the appenders of our App through a property file all the time,
and it dynamically closes, creates a new appender and configures it
without a server restart.  I do this a lot.  It's not a problem.

Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Dynamic Configuration

2003-12-11 Thread Paul Smith
> Problem 2:
> You mentioned that you get those messages as well sometimes, do you know why?

It is possible that there might be some synchronization problem at the
point of the call to a specific appender's close() method, and during
the close, some logs try and come through to be appended.

What type of Appender are you using (FileAppender? Daily*Appender?), and
what version of log4j are you using? (the latest is log4j 1.2.8)

cheers,

Paul Smith


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Chainsaw:

2003-12-14 Thread Paul Smith
On Mon, 2003-12-15 at 11:52, Steve Mactaggart wrote:
> Just a quick question about chainsaw...
> 
> Once its running and I customise it, is there a way to save these settings
> so that on the next load they are all intact...  Thinks like the tab
> highlights, tab name grouping value, ignores list, etc
> 
> It would be nice to be able to save/load these options as I can then create
> a few sets of configurations depending on what type of development or debug
> that I am doing.
> 
> Hope this feature exists.

Some exists, and some have not made it into the save-able pref model
just yet, but they will make it.

If you let me know the exact list of missing saving features, and in
order of priority for you, I might be able to get them done quickly for
you... (also, I am not sure what you mean by "tab hightlights" and "tab
name grouping value", I think the latter you mean how Chainsaw splits
the events into separate tabs?  Is that correct?)

cheers,  
Paul Smith



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How-To get Log4Ant listed on Log4J Extensions?

2003-12-14 Thread Paul Smith
I'd drop a line to the good folks over on the ant-user mailing list.  
I'm sure they can help you out.

cheers,

Paul Smith

On Mon, 2003-12-15 at 12:34, Wascally Wabbit wrote:
> Can someone point-to/describe how we can get our Log4j-Ant
> tasks listed under "Log4Ant" in the Log4j extensions
> category on the log4j website?
> 
> The information:
> 
>  log4Ant
>  log4Ant includes a complete bridge to the Log4J 
> logging system
> for a robust build monitoring system. These Ant components let you capture, 
> map, and send Ant log messages and stdio output through your Log4J 
> installation.
>  GNU LGPL
>   http://purl.net/jware/antx/ 
>  [EMAIL PROTECTED]
> 
> Thanks,
> 
> The Wabbit 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How-To get Log4Ant listed on Log4J Extensions?

2003-12-14 Thread Paul Smith
whoops, I thought you meant on the ant site, I think I can accomodate
this.

On Mon, 2003-12-15 at 12:40, Paul Smith wrote:
> I'd drop a line to the good folks over on the ant-user mailing list.  
> I'm sure they can help you out.
> 
> cheers,
> 
> Paul Smith
> 
> On Mon, 2003-12-15 at 12:34, Wascally Wabbit wrote:
> > Can someone point-to/describe how we can get our Log4j-Ant
> > tasks listed under "Log4Ant" in the Log4j extensions
> > category on the log4j website?
> > 
> > The information:
> > 
> >  log4Ant
> >  log4Ant includes a complete bridge to the Log4J 
> > logging system
> > for a robust build monitoring system. These Ant components let you capture, 
> > map, and send Ant log messages and stdio output through your Log4J 
> > installation.
> >  GNU LGPL
> >   http://purl.net/jware/antx/ 
> >  [EMAIL PROTECTED]
> > 
> > Thanks,
> > 
> > The Wabbit 
> > 
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How-To get Log4Ant listed on Log4J Extensions?

2003-12-14 Thread Paul Smith
I've added this to the Xdocs of the site, but I need to confirm with
Ceki on the exact process of getting the changes reflected on the actual
website.  

cheers,

Paul


On Mon, 2003-12-15 at 12:34, Wascally Wabbit wrote:
> Can someone point-to/describe how we can get our Log4j-Ant
> tasks listed under "Log4Ant" in the Log4j extensions
> category on the log4j website?
> 
> The information:
> 
>  log4Ant
>  log4Ant includes a complete bridge to the Log4J 
> logging system
> for a robust build monitoring system. These Ant components let you capture, 
> map, and send Ant log messages and stdio output through your Log4J 
> installation.
>  GNU LGPL
>   http://purl.net/jware/antx/ 
>  [EMAIL PROTECTED]
> 
> Thanks,
> 
> The Wabbit 
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Chainsaw:

2003-12-14 Thread Paul Smith
> It's the splitting of the events into different tabs, the frst one, tab
> highlighting, was related to what rules for highlighting are defined per
> tab.
> 
I think Scott Deboy has already done the saving of the colouring prefs,
that should be working?

The tab identifier preference is now available (thanks to Scott) from
the View menu->Application-wide preferences.  See the General tab of
that preference panel, 'Tab Identifier'.  

The value you place in this field is a bit unclear at this early stage,
but is an 'expression'.  

For example, the default is to look for 2 properties within each event
to grab the hostname and the 'application'.  Since these are defined
within the LoggingEvent's Properties collection, it is referenced like
this:

PROP.hostname - PROP.application

(hostname and application meaning to lookup the value of that key in the
event's properties, you can configure the, say, SocketAppender to add
the application property automatically)

If you wanted a Tab for each Level, you could just use this expression:

Level

You can mix and match different event elements to come up with your own
unique way of identifying which tab an event should get sent to.

The docs on what expression elements are currently supported is here:

http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggingEventFieldResolver.java

(click on the first 'view' link to see the source, the javadoc should
get you started)

cheers,

Paul



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



  1   2   >