• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

New to log4j

 
Ranch Hand
Posts: 375
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
drifter
Posts: 1364
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, you get a Logger and then call Logger methods such as debug() or error()

Example basically from Log4j Manual:


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.

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# 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 ]
 
WARNING! Do not activate jet boots indoors or you will see a tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic