1. Download the Jakarta log tag library : jakarta-taglibs-log-1.0.zip
Extract this archive file, e.g. C:\Tools\jakarta-taglibs-log-1.0
The archive contains the following files :
LICENSE, log-doc.war, log-examples.war, README, taglibs-log.jar, taglibs-log.tld
2. Download Log4j 1.2.9 : logging-log4j-1.2.9.zip
Extract this archive file, e.g. C:\Tools\logging-log4j-1.2.9
The archive contains serveral files. The most important one is: C:\Tools\logging-log4j-1.2.9\dist\lib\log4j-1.2.9.jar
3. Create a simple a Tomcat web application called "demo"
Create the following directories inside the Tomcat "webapps" directory :
C: \Tools\Tomcat 4.1\webapps\demo
C: \Tools\Tomcat 4.1\webapps\demo\WEB-INF
C: \Tools\Tomcat 4.1\webapps\demo\WEB-INF\classes
C: \Tools\Tomcat 4.1\webapps\demo\WEB-INF\lib
Copy the tag library descriptor file "taglibs-log.tld", tag library JAR file "taglibs-log.jar" and log4j JAR file "log4j-1.2.9.jar" into WEB-INF.
Create a web.xml file in the WEB-INF directory
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>Demonstration log4j usage in jsp</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>
</taglib-uri>
<taglib-location>/WEB-INF/taglibs-log.tld</taglib-location>
</taglib>
</web-app>
Note : You MUST add a <taglib> element in the web.xml file :
<taglib>
<taglib-uri>
</taglib-uri>
<taglib-location>/WEB-INF/log.tld</taglib-location>
</taglib>
Create a log4j.properties file in the WEB-INF/classes directory
# ***** Set root logger level to DEBUG and its two appenders to stdout and R.
log4j.rootLogger=debug, stdout, R
# ***** stdout is set to be a ConsoleAppender.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# ***** stdout uses PatternLayout.
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%c] %p - %m%n
# ***** R is set to be a RollingFileAppender.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/demo.log
# ***** Max file size is set to 100KB
log4j.appender.R.MaxFileSize=100KB
# ***** Keep one backup file
log4j.appender.R.MaxBackupIndex=1
# ***** R uses PatternLayout.
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%c] %p - %m%n
Note : The location of the log file is set in :
log4j.appender.R.File=${catalina.home}/logs/demo.log
Create two jsp files in the C:\Tools\Tomcat 4.1\webapps\demo directory
File 1 : index.jsp
<%@ taglib uri= "http://jakarta.apache.org/taglibs/log-1.0" prefix="log" %>
<html>
<head>
<title>Demonstration log4j usage in jsp</title>
</head>
<body>
<!-- Demonstrate different log levels -->
<log:debug>Show DEBUG message.</log:debug>
<log:info>Show INFO message.</log:info>
<log:warn>Show WARN message.</log:warn>
<log:error>Show ERROR message.</log:error>
<log:fatal>Show FATAL message.</log:fatal>
<!-- Demonstrate where to put the log messages -->
<log:fatal>Message embedded within the open and close tags.</log:fatal>
<log:fatal message="Message passed as an attribute to the tag" />
<log:fatal category="com.mobilefish.demo.index">
Using category attribute.
</log:fatal>
<b>
The log messages are shown in the Tomcat console and in the
${catalina.home}/logs/demo.log file.
</b>
</body>
</html>
File 2 : test.jsp
<%@ page import="org.apache.log4j.Logger" %>
<html>
<head>
<title>Demonstration log4j usage in jsp</title>
</head>
<body>
<%
Logger log = Logger.getLogger("com.mobilefish.demo.test");
log.debug("Show DEBUG message");
log.info("Show INFO message");
log.warn("Show WARN message");
log.error("Show ERROR message");
log.fatal("Show FATAL message");
%>
<b>
The log messages are shown in the Tomcat console and in the
${catalina.home}/logs/demo.log file.
</b>
</body>
</html>
4. (Re)start Tomcat
5. Access the JSP files
Access the index.jsp file
http://localhost:8080/demo/index.jsp
The following log messages are shown in the Tomcat console and in the ${catalina.home}/logs/demo.log file :
2006-06-03 17:28:43,379 [root] DEBUG - Show DEBUG message.
2006-06-03 17:28:43,409 [root] INFO - Show INFO message.
2006-06-03 17:28:43,409 [root] WARN - Show WARN message.
2006-06-03 17:28:43,409 [root] ERROR - Show ERROR message.
2006-06-03 17:28:43,419 [root] FATAL - Show FATAL message.
2006-06-03 17:28:43,419 [root] FATAL - Message embedded within the open and close tags.
2006-06-03 17:28:43,419 [root] FATAL - Message passed as an attribute to the tag
2006-06-03 17:28:43,419 [com.mobilefish.demo.index] FATAL - Using category attribute.
Access the test.jsp file
http://localhost:8080/demo/test.jsp
The following log messages are shown in the Tomcat console and in the ${catalina.home}/logs/demo.log file.
2006-06-03 17:55:43,379 [com.mobilefish.com.test] DEBUG - Show DEBUG message.
2006-06-03 17:55:43,409 [com.mobilefish.com.test] INFO - Show INFO message.
2006-06-03 17:55:43,409 [com.mobilefish.com.test] WARN - Show WARN message.
2006-06-03 17:55:43,409 [com.mobilefish.com.test] ERROR - Show ERROR message.
2006-06-03 17:55:43,419 [com.mobilefish.com.test] FATAL - Show FATAL message.
Change the root logger level to WARN in the log4j.properties file and restart Tomcat:
log4j.rootLogger=warn, stdout, R
When the index.jsp page is reloaded in your browser only the following messages are shown:
2006-06-03 17:48:43,409 [root] WARN - Show WARN message.
2006-06-03 17:48:43,409 [root] ERROR - Show ERROR message.
2006-06-03 17:48:43,419 [root] FATAL - Show FATAL message.
2006-06-03 17:48:43,419 [root] FATAL - Message embedded within the open and close tags.
2006-06-03 17:48:43,419 [root] FATAL - Message passed as an attribute to the tag
2006-06-03 17:48:43,419 [com.mobilefish.demo.index] FATAL - Using category attribute.
No comments:
Post a Comment
Note: only a member of this blog may post a comment.