Re: Log Utility

2008-04-06 Thread Jacob Kjome


How about LogMF or LogSF in Log4j's own "Extras" companion?

http://logging.apache.org/log4j/companions/extras/index.html

http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/LogMF.html
http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/LogSF.html


Jake

Wim Deblauwe wrote:

You probably mean that you want to avoid expensive string concatenation and
toString() operations if you logging is not logged anyway. There are a
number of solutions to avoid that using
log5jor
logback .

regards,

Wim

2008/4/4, Tim Nguyen <[EMAIL PROTECTED]>:

Thank you! It is similar to what I wanted to do. This is more like the
solution for one class. Is there anyway to check for all classes? I have
hundreds of classes and I want to have an util that I can just replace the
current logging  (e.g: logger.debug("String")) with LogUtil (e.g:
LogUtil.debug("String") and it does the trick. That way I can just replace
All the logger with LogUtil :)

Thanks again for your help!


- Original Message 
From: Robert Pepersack <[EMAIL PROTECTED]>
To: Log4J Users List 
Sent: Friday, April 4, 2008 12:14:30 PM
Subject: Re: Log Utility

Hi Tim,

The Logger class has a way of checking the level first.

First put this in your instance variables:

private static final Logger logger =
Logger.getLogger("my.package.MyClass");

private final boolean debug = logger.isDebugEnabled();

Then put this in your method:

if (this.debug)
{
logger.debug(new String("test"));
}

Hope this helps.

Robert Pepersack
Senior Lead Developer
Maryland Insurance Administration
410-468-2054


Tim Nguyen <[EMAIL PROTECTED]> 04/04/2008 3:02 PM >>>

Hi,

I am writing a Log Utility to check the log level first before creating a
string object. For example, if my log level is INFO, and I call:

log.debug(new String("test"));

It will still instantiate the String object even thought it doesn't log
anything.

So I would like to write an Utility to check the level first, if the log
level is lower, then I don't have to instantiate the object and just skip
it.
Anybody knows what is the easy way to do that?

Thanks,





  

You rock. That's why Blockbuster's offering you one month of Blockbuster
Total Access, No Cost.
http://tc.deals.yahoo.com/tc/blockbuster/text5.com


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








  

You rock. That's why Blockbuster's offering you one month of Blockbuster
Total Access, No Cost.
http://tc.deals.yahoo.com/tc/blockbuster/text5.com




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



Re: Different Loggers for Different Instances of Same Class

2008-04-06 Thread Jacob Kjome


You can use per-instance loggers and name you loggers as...

private Logger logger;

JdbcFacade(String instanceNameQualifier) {
  this.logger = this.getClass().getName() + istanceNameQualifier;
}

instanceNameQualifier might be "A" or "B" or whether else you want it to be.


Jake

Robert Pepersack wrote:

Hello.

Thanks in advance for your help.

I'm running scheduled jobs, and they create their own instances of my JDBC 
class.  For example, JobA creates a new JdbcFacadeA, and JobB creates its own 
JdbcFacadeB.  I would like to log each job in its own log (easy).  But, I want 
the output from JdbcFacadeA to go to the log for JobA, and I want the output 
from JdbcFacadeB to go to JobB's log.  I'm using the log4j convention for 
naming loggers, which uses the fully qualified class name.

How can I do this?

Thanks,

Robert Pepersack
Senior Lead Developer
Maryland Insurance Administration
410-468-2054


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