虽然在JSP中打印日志是大家都不想使用的。但由于个别需求需要对JSP进行维护的时候使用日志打印是首选之道。
下面转自国外网站介绍在JSP中使用LOG4J的实例。
原文地址:http://www.mobilefish.com/developer/log4j/log4j_quickguide_jsp.html
Apply log4j within jsp.
Information
none
Operating system used
Windows XP Home Edition Version 5.1 SP 2
Software prerequisites
Jakarta log tag library
Log4j 1.2.9
Procedure
- 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
- 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
- Install Tomcat. Follow guide "Installing Tomcat 4.1.31".
- 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" into WEB-INF.
- Copy the tag library JAR file "taglibs-log.jar" into WEB-INF/lib.
- Copy the log4j JAR file "log4j-1.2.9.jar" into WEB-INF/lib.
- 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>http://jakarta.apache.org/taglibs/log-1.0</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>http://jakarta.apache.org/taglibs/log-1.0</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>
- Create the following directories inside the Tomcat "webapps" directory:
- (Re)start Tomcat.
- 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.
相关推荐
在`JSP`(JavaServer Pages)中使用`log4j`,可以帮助开发者调试代码、追踪错误,以及记录应用运行状态,从而提高开发效率和系统的可维护性。 ### 1. log4j组件 `log4j`主要包括三个核心组件: - **Logger(日志...
Log4j2 支持日志分离,即在一个应用程序中使用多个独立的日志记录配置: - **Separate ClassLoaders**:使用不同的类加载器隔离日志配置。 - **Separate Contexts**:每个配置使用独立的 LoggerContext。 #### 15....
Log4j是一个广泛使用的日志记录框架,在Java应用程序中,它允许开发者灵活地控制日志信息的输出。本文主要讨论了在Log4j配置中如何处理相对路径的问题,以适应不同环境下的日志文件存储需求。 一、使用系统属性设置...
Log4j不仅简单易用,而且功能强大,能够帮助开发者在开发、测试和生产环境中方便地收集和分析日志信息。下面我们将详细探讨Log4j的核心概念、配置以及如何通过示例源代码进行实践。 一、Log4j核心概念 1. **Logger...
在Java Web开发中,Tomcat是一个广泛使用的应用服务器,它负责运行我们的Servlet和JSP应用程序。日志系统是任何应用程序的重要组成部分,它帮助开发者在调试、监控和问题排查时收集必要的信息。Log4j是Apache的一个...
4. **Web应用中的动态设置**:在Web应用中,可以创建一个Servlet或JSP页面来接收用户的选择并动态调整日志级别。比如,`changeLogLevel.jsp`可能就是这样一种实现。用户在前端选择日志级别,然后发送请求到这个页面...
在Java Web应用中,Tomcat是一个广泛使用的开源应用服务器,而Log4j是Apache组织提供的一款强大的日志处理框架。本文将深入探讨如何在Tomcat中配置Log4j,以实现高效、灵活的日志管理。 首先,我们来看一下标题中的...
Struts2和Log4j是Java Web开发中的两个重要组件,它们在构建高效、可维护的Web应用程序中扮演着关键角色。Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了丰富的功能来简化Java Web应用的开发,而...
6. Web应用程序和JSP(WebApplicationsandJSPs):专门针对Web应用程序,解释如何在JavaServer Pages (JSP) 中使用Log4j进行日志记录。 7. 插件(Plugins):Log4j允许通过插件扩展其功能,这一部分可能讨论如何...
- **JSP 支持**:允许在 JSP 文件中使用 Log4j2 进行日志记录。 - **MDC (Mapped Diagnostic Context)**:提供了上下文信息,以便于跟踪请求或事务。 #### 1.7 扩展 Log4j2 Log4j2 具有高度可扩展性,支持通过插件...
#### 四、在JSP中使用LOG4J 在JSP页面中同样可以使用LOG4J记录日志。只需要确保JSP页面所在的项目已经正确配置了LOG4J,并且能够访问到Logger实例即可。 #### 五、LOG4J的优点 1. **灵活性** LOG4J允许开发者...
接下来,"Log4jWebDemo.rar"可能是一个包含web应用程序示例的压缩包,展示了如何在Servlet、JSP或其他web组件中集成Log4j。在web应用中,通常会将Log4j配置文件(log4j.properties或log4j.xml)放在类路径下,以便在...
Log4j是Apache软件基金会开发的一个开源日志框架,广泛应用于JSP(JavaServer Pages)和J2EE(Java 2 Platform, Enterprise Edition)应用程序中。本文将深入探讨Log4j在错误处理中的应用及其重要性。 首先,Log4j...
在实际项目中,"spring+springMVC+mybatis+log4j框架整合"通常涉及以下步骤: 1. 引入相关jar包:添加Spring、SpringMVC、Mybatis和log4j的依赖库到项目中。 2. 配置Spring:创建ApplicationContext.xml,定义Bean的...
在JSP应用中,JSTL可以与Log4j配合使用,以实现动态的日志记录。例如,可以通过JSTL的`<c:if>`标签判断当前日志级别,然后调用Log4j的API输出相应级别的日志信息。这使得在JSP页面中处理错误和调试信息变得更加便捷...
Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。在本示例中,"纯struts2...通过这个demo,开发者可以学习到Web应用开发的基本流程,同时了解如何在实际项目中集成和运用Struts2与log4j。
在项目中,通过配置`log4j.properties`或`log4j.xml`文件,可以定制日志输出级别、格式和目标,为开发者提供详细的运行日志。 5. **SpringTest**:Spring提供的测试框架,用于集成测试和单元测试。它提供了模拟对象...
在JSP应用中,你可以通过初始化servlet来设置和使用log4j。在servlet的`init()`方法中加载配置文件,并获取logger实例。例如: ```java import org.apache.log4j.Logger; import org.apache.log4j....
Log4j的使用有助于在开发和生产环境中进行问题排查和性能分析。 在本压缩包中,"frameTest"可能是一个包含整个框架集成的测试项目,用于演示如何配置和使用这些框架。可能包含配置文件(如struts.xml、hibernate....
1. **配置灵活性**:通过配置文件(如log4j.properties或log4j.xml)可定制日志级别、输出位置、格式等。 2. **Appenders**:负责将日志信息输出到特定目的地,如ConsoleAppender、FileAppender等。 3. **Layouts**...