• 在web应用中使用日志


     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 

  • 相关阅读:
    Notepad++编写Markdown
    解决Unable to create new native thread
    Outlook2016 新装进阶操作指南
    卷积神经网络
    反向传播算法
    神经网络的基本组成
    cs231n课程索引
    快速入门特征工程
    快速入门Sklearn
    快速入门Matplotlib
  • 原文地址:https://www.cnblogs.com/rxingyue/p/4040695.html
Copyright © 2020-2023  润新知