I want to add a logging (debug) facility to my Servlets and have come across log4j. It seems simple enough to use, but how does it all work? Is it just case of getting an instance of a Logger object and calling the debug() method? Can I have some sort of simple "-verbose" switch so I can turn the logging on and off (like with the java.exe -verbose option)? I know there is a properties file, but how can I setup it up to do this?
Thanks.
Carol Enderlin
drifter
Ranch Hand
Joined: Oct 10, 2000
Posts: 1348
posted
0
Yes, you get a Logger and then call Logger methods such as debug() or error()
A simple way to configure log4j is using a properties (or xml) file. The first time Logger.getLogger() is called log4j looks for either log4j.xml or log4j.properties on the classpath.
The manual also has sample properties files.
Then you said you wanted to turn off debug logging. Log4j uses Levels, if you set a logger's level to WARN, then it will log messages that are at level WARN or more severe (see manual for more or better explanation)
Suppose we are no longer interested in seeing the output of any component belonging to the com.foo package. The following configuration file shows one possible way of achieving this.
# Print the date in ISO 8601 format log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# Print only messages of level WARN or above in the package com.foo. log4j.logger.com.foo=WARN
If you want a more in-depth manual than what is available at the URL I posted for log4j manual, try The complete log4j manual commercially ($) available in pdf.
[ March 16, 2005: Message edited by: Carol Enderlin ] [ March 16, 2005: Message edited by: Carol Enderlin ]
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.