Friday, October 14, 2011

Using Logger in Java

Logger is very important in many applications, using logger we can log message in a program/project.
Steps to use logger:
1. Download "logging-log4j.X.X.X" from apache website and extract it to your favorite place.
2. Add "logging-log4j.X.X.X\dist\lib" to your "classpath" environment variable.
Note: Download and adding "xercesImpl.jar", "xmlParserAPIs.jar" to classpath if you have any issues.
3. Add "log4j.jar" to "Referenced Libraries" folder of your Java project.
4. create "log4j.properties" file in "/src" folder with below content
#-----Content start

log4j.rootCategory=INFO, S, R

log4j.logger.com.dappit.Dapper.parser=ERROR
log4j.logger.org.w3c.tidy=FATAL

log4j.appender.S = org.apache.log4j.ConsoleAppender
log4j.appender.S.layout = org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n

log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = ./logs/MyLog.log
log4j.appender.R.Append = true
log4j.appender.R.DatePattern = '.'yyy-MM-dd
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
#---Content end

4. Create your class file, add import statement like "import org.apache.log4j.*;"
5. Instantiate logger "Logger log = Logger.getLogger(LoggerUsage.class);"
Note: Here "LoggerUsage" will be your class where you are using logger.
6. Start logging various incidents like

log.info("Logging info");
log.error("Logging Error...");
7. This will log print message to console and also to a file "/logs/MyLog.log" because we added below entry in log4j.properties file.
log4j.appender.R.File = ./logs/MyLog.log


If log4j.jar is not found in classpath then we get error saying
"log4j:WARN Please initialize the log4j system properly."