在web应用中使用日志

转载 2012年03月21日 12:44:52

 Log4J是Jakarta下的一个开源代码的子项目,用Log4J,我们可以使用定制的格式,把调试信息和日志信息输出到一个或多个需要的地方。 在Web应用中一般使用一个专门的Servlet来完成Log4J的配置,并保证在web.xml的配置中,这个Servlet位于其它Servlet之前,以便在Servlet和jsp中调用。下面是这个servlet,代码如下:

package example; 
import org.apache.log4j.*; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
     
public class Log4jInit extends HttpServlet {  
     public void init() { 
          String prefix =  getServletContext().getRealPath("/"); 
          String file = getInitParameter("log4j");//配置文件位置 
          if(file != null) {   
              PropertyConfigurator.configure(prefix+file);  
          }  
     } 

 public void doGet(HttpServletRequest req,
    HttpServletResponse res) {  } 
}

此servlet在web.xml中配置: 
</web-app>  
 ...........   
 servlet>  
   <servlet-name>log4j-init</servlet-name>  
   <servlet-class>example.Log4jInit</servlet-class> 
   <init-param> 
      <param-name>log4j</param-name> 
      <param-value>WEB-INF/log4j.properties</param-value> 
   </init-param>  
   <load-on-startup>1</load-on-startup> 
</servlet> 
 ...........   
</web-app> 

用来配置log4J的属性文件: 
log4j.rootLogger=debug, A1 , R 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=cwblog4j.log 
log4j.appender.R.MaxFileSize=100KB 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

    这个配置文件指定了两个输出源A1和R。前者把日志信息输出到控制台,后者是一个轮转日志文件。最大的文件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把example.log重命名为example.log.1,然后重建一个新的example.log文件,依次轮转。  

测试文件: 
<%@ page contentType="text/html; charset=GB2312" %> 
<%@ page import="org.apache.log4j.*" %> 
<%        
    Logger logger = Logger.getLogger("test.jsp"); 
    logger.debug("befor say hi"); 
%> 
<h1> Hi</h1> 
<%  logger.info("after say hi");%> 

   在服务器上的$TOMCAT_HOME/log4j.log文件中看到如下的信息: 
DEBUG Thread-5 testlog4j.jsp - befor say hi 
INFO Thread-5 testlog4j.jsp - after say hi 
   在$TOMCAT_HOME/logs/stdout.log文件的最后有下面的输出。 
信息: Server startup in 5678 ms 
2004-07-07 09:54:05 [testlog4j.jsp]-[DEBUG] befor say hi 
2004-07-07 09:54:05 [testlog4j.jsp]-[INFO] after say hi

通过服务器日志溯源web应用攻击路径

无论是我们使用的个人计算机还是服务器都为我们提供了强大的日志记录功能。例如系统日志,可以为我们记录系统硬件、软件和系统问题的信息,用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹...

java Web应用配置log4j日志记录

第一步:首先建立一个WEB工程,去log4j官网下log4j的JAR包导入到工程的lib目录下 第二步:在src目录下建一个log4j.properties 文件,文件命名可以由自己,只是记加载...

web应用配置的logback,为什么在tomcat下没日志文件出现

web应用配置的logback,为什么在tomcat下没日志文件出现     无比郁闷的时候到了,spring web 配置了logback.xml 文件,放在tomcat下面,应用日志一直...

【西祠日志】【17】初识AngularJS,下一代Web应用的前端

2015.08.06 周四今天学习状态不错,就是应该这样一点点的努力;今天主要还是把asp留言板任务完善了下,然后我陷入了一种困扰,就是前端的网页耦合性太高,复用也非常不利于SEO优化,考虑如何有更好...

(入门级web应用)小书签收集站开发日志(一)--项目规划及最基本功能实现

web技术越探索越漫无边际,作为y

生产环境构建指南:Web应用——集中式日志记录

提供:ZStack云计算 | 系列教程本教程为《生产环境构建指南:Web应用》系列六篇中的第六篇。内容简介在今天的教程中,我们将一同了解如何为生产环境设置集中式日志记录。集中式日志记录能够有效收集服务...

java Web应用配置log4j日志记录

本文转自:http://www.blogjava.net/zzzlyr/articles/353039.html 第一步:首先建立一个WEB工程,去log4j官网下log4j的JAR包导入到工程的l...

java Web应用配置log4j日志记录

第一步:首先建立一个WEB工程,去log4j官网下log4j的JAR包导入到工程的lib目录下 第二步:在src目录下建一个log4j.properties 文件,文件命名可以由自己,只是记加载...

web应用中log4j应用--log4j.xml同时输出多种日志

OK,现在我们来整理下log4j来web项目中的应用。我之前搞了2年web,使用的日志都是log4j。关于现在比较火的logback我后面会有博客整理到,不管怎么样,这里先整理一下web中log4j的...

使用JSP开发Web应用系统

  • 2014年02月12日 20:38
  • 1.88MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在web应用中使用日志
举报原因:
原因补充:

(最多只允许输入30个字)