RE: [Chainsaw]: Ant-based installer

2003-12-11 Thread Ceki Gülcü
How about allowing both? Ignoring just the selected node in the tree
(as is the case currently) **or** ignoring the selected node and its
children.
The solution of expressions suggested by Scott offers a far more
precise control but probably is harder to put in place for the user.
Just my 2 shallow cents.

At 10:39 PM 12/10/2003 -0800, Scott Deboy wrote:
I personally would like to see the logger tree stay simple.  Focusing on a 
node implies you can see everything under it - makes sense to me.

NOTE:  the information following applies only to the CVS tip version of 
Chainsaw v2:

If you want to exclude certain packages, why not build an expression in 
the 'focus on' text box?  enter something like this:

! ( ( LOGGER LIKE com.someothercompany.corecomponent.* ) || ( LOGGER ~= 
org.blah ) )

the LIKE operator evaluates regular expressions, the ~= operator performs 
a partial text (case insensitive) match.

the ! and || operators are hopefully obvious.  You can see all of the 
supported operators 
here: 
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4j/chainsaw/rule/RuleFactory.java?rev=1.6view=auto

If any of the operators need to evaluate fields that use multiple words, 
wrap the operand in single quotes (like the text of an event).  For example:

! ( MSG ~= 'ignore msgs that contain this phrase' )

Notice how all operands and operators must be separated by spaces (even 
spaces around parens).

Hope this helps, your problem is exactly why we built the expression language.

Take care,
Scott
--
Ceki Gülcü
 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]


RE: [Chainsaw]: Ant-based installer

2003-12-11 Thread Scott Deboy
A couple of comments about the 'focus on' expression-based capabilities:

I'll add a 'remove from focus' to the right mouse button that will add the ! (whatever 
is under mouse) to the 'focus on' text field

Please note that when you're in the 'focus on' text field, you can press the right 
mouse button or ctrl-space to pop up an expression building context menu that updates 
as you build the expression (displaying the keywords, operators or values for the 
keyword, depending on where you are in the expression)


Scott

-Original Message-
From: Ceki Gülcü [mailto:[EMAIL PROTECTED] 
Sent: Thursday, December 11, 2003 5:13 AM
To: Log4J Users List
Subject: RE: [Chainsaw]: Ant-based installer



How about allowing both? Ignoring just the selected node in the tree (as is the case 
currently) **or** ignoring the selected node and its children.

The solution of expressions suggested by Scott offers a far more precise control but 
probably is harder to put in place for the user.

Just my 2 shallow cents.

At 10:39 PM 12/10/2003 -0800, Scott Deboy wrote:
I personally would like to see the logger tree stay simple.  Focusing 
on a
node implies you can see everything under it - makes sense to me.

NOTE:  the information following applies only to the CVS tip version of
Chainsaw v2:

If you want to exclude certain packages, why not build an expression in
the 'focus on' text box?  enter something like this:

! ( ( LOGGER LIKE com.someothercompany.corecomponent.* ) || ( LOGGER ~=
org.blah ) )

the LIKE operator evaluates regular expressions, the ~= operator 
performs
a partial text (case insensitive) match.

the ! and || operators are hopefully obvious.  You can see all of the
supported operators 
here: 
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4j/chainsaw/rule/RuleFactory.java?rev=1.6view=auto

If any of the operators need to evaluate fields that use multiple 
words,
wrap the operand in single quotes (like the text of an event).  For example:

! ( MSG ~= 'ignore msgs that contain this phrase' )

Notice how all operands and operators must be separated by spaces (even
spaces around parens).

Hope this helps, your problem is exactly why we built the expression 
language.

Take care,
Scott


-- 
Ceki Gülcü

  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]



[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
project name=install-chainsaw default=install basedir=. 

	property name=module.dir location=${basedir}/
  property name=oro.file.name value=jakarta-oro-2.0.7.zip /
	property name=oro.location location=${module.dir}/${oro.file.name} /
	property name=oro.unzip.location location=${module.dir}/ /

	target name=install depends=confirm,cvs,get-oro,create-build-properties, success-msg/

	target name=confirm depends=
		echo

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
/echo
input
  message=Are you OK with all of this?
  validargs=y,n
  addproperty=confirm
/
condition property=do.abort
  equals arg1=n arg2=${confirm}/
/condition
fail if=do.abortInstallation aborted by user./fail
  /target

  target name=cvs depends=
cvs cvsRoot=:pserver:[EMAIL PROTECTED]:/home/cvspublic
package=jakarta-log4j
dest=${module.dir}
quiet=true
/
  /target

	target name=get-oro depends=
!-- echo${oro.location}/echo --
		  get src=http://www.ibiblio.org/pub/mirrors/apache/jakarta/oro/${oro.file.name};
dest=${oro.location}
verbose=true
usetimestamp=true/

unzip src=${oro.location}
  dest=${oro.unzip.location}
patternset
include name=jakarta-oro-2.0.7/jakarta-oro-2.0.7.jar/
/patternset
/unzip
  /target


	target name=create-build-properties depends=
copy file=${module.dir}/jakarta-log4j/build.properties.sample tofile=${module.dir}/jakarta-log4j/build.properties
/copy
replace file=${module.dir}/jakarta-log4j/build.properties
  replacetoken![CDATA[#regexp.oro.jar=../oro/jakarta-oro-2.0.6.jar]]/replacetoken
  replacevalue![CDATA[regexp.oro.jar=../jakarta-oro-2.0.7/jakarta-oro-2.0.7.jar]]
/replacevalue
/replace
  /target

	!--target name=clean depends=

  /target--

  target name=success-msg depends=
		echo
Installation completed successfully.

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

  cd jakarta-log4j
  ant chainsaw

GOOD LUCK!
/echo
  /target
/project

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

RE: [Chainsaw]: Ant-based installer

2003-12-10 Thread Steve Mactaggart
Paul,

Great work on the ant file, makes life much easier to get chainsaw up and
running.
It was very convinient for me, as I was just about to start exploring it
again..

Thanks..

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.

Thanks again for the great app...  Am looking forward to using it over the
next few weeks..

Steve.

 -Original Message-
 From: Paul Smith [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, December 11, 2003 9:26 AM
 To: [EMAIL PROTECTED]
 Subject: [Chainsaw]: Ant-based installer
 
 
 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
 
 ---
 Incoming mail is certified Virus Free.
 Checked by AVG anti-virus system (http://www.grisoft.com).
 Version: 6.0.545 / Virus Database: 339 - Release Date: 11/27/2003
  
 
 


-
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 Steve Mactaggart
  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.

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..
 
  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.
 

At the moment, I don't have a specific idea...  Just opening it up so that
it would be a useable framework for future..

I really don't mind how it's done, or even if it is..  Without it Chainsaw
is still great..

Steve


-
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: [Chainsaw]: Ant-based installer

2003-12-10 Thread Scott Deboy
I personally would like to see the logger tree stay simple.  Focusing on a node 
implies you can see everything under it - makes sense to me.

NOTE:  the information following applies only to the CVS tip version of Chainsaw v2:

If you want to exclude certain packages, why not build an expression in the 'focus on' 
text box?  enter something like this:

! ( ( LOGGER LIKE com.someothercompany.corecomponent.* ) || ( LOGGER ~= org.blah ) )

the LIKE operator evaluates regular expressions, the ~= operator performs a partial 
text (case insensitive) match.

the ! and || operators are hopefully obvious.  You can see all of the supported 
operators here:  
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/src/java/org/apache/log4j/chainsaw/rule/RuleFactory.java?rev=1.6view=auto

If any of the operators need to evaluate fields that use multiple words, wrap the 
operand in single quotes (like the text of an event).  For example:

! ( MSG ~= 'ignore msgs that contain this phrase' )

Notice how all operands and operators must be separated by spaces (even spaces around 
parens).

Hope this helps, your problem is exactly why we built the expression language.

Take care,
Scott



-Original Message-
From:   Steve Mactaggart [mailto:[EMAIL PROTECTED]
Sent:   Wed 12/10/2003 9:52 PM
To: 'Log4J Users List'
Cc: 
Subject:RE: [Chainsaw]: Ant-based installer
  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.

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..
 
  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.
 

At the moment, I don't have a specific idea...  Just opening it up so that
it would be a useable framework for future..

I really don't mind how it's done, or even if it is..  Without it Chainsaw
is still great..

Steve


-
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]