zoukankan      html  css  js  c++  java
  • java 日志技术汇总(log4j , Commons-logging,.....)

    前言

    在Tomcat 与weblogic 中的 日志(log4j) 配置系列一

    在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中?

    这里仅仅使用log4j, 而不使用 commons-logging, 关于log4j 和commons-logging的区别和关联,请参考

    java 日志技术汇总(log4j , Commons-logging,.....)

    一个web 项目实例

    这个实例很简单,就是定义一个servlet, 用来写日志

    1. 使用eclipse 创建一个动态web 项目, 导入log4j.jar 包

    2. 创建一个servlet 类

    /**   
     * @author oscar999   
     * @date 2013-7-31
     * @version V1.0   
     */
    package com.oscar999;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    
    public class LogServlet extends HttpServlet {
    
    	private static final long serialVersionUID = 1L;
    
    	public void service(HttpServletRequest req, HttpServletResponse res) {
    
    		testLog4j();
    		try {
    			PrintWriter out = res.getWriter();
    			out.println("<Hr><h1>Please check the Logs Are generated in .log or Not .....");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    	public void testLog4j() {
    		Logger log = Logger.getLogger(LogServlet.class);
    		PropertyConfigurator.configure("log4j.properties");
    		log.debug("Debug info.");
    		log.info("Info info");
    		log.warn("Warn info");
    		log.error("Error info");
    		log.fatal("Fatal info");
    	}
    
    }
    


    3. 在web.xml 中添加servlet 配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <display-name>logTestApp</display-name>
      
      <servlet>
      	<servlet-name>LogServlet</servlet-name>
      	<servlet-class>com.oscar999.LogServlet</servlet-class>
      	<load-on-startup>2</load-on-startup>
      </servlet>
      <servlet-mapping>
      	<servlet-name>LogServlet</servlet-name>
      	<url-pattern>/logServlet</url-pattern>
      </servlet-mapping>
      
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>


    4. 编写一个 log4j.properties 文件

    log4j.rootLogger=debug,stdout,logfile
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
    
    log4j.appender.logfile=org.apache.log4j.RollingFileAppender
    log4j.appender.logfile.File=logfile.log
    log4j.appender.logfile.MaxFileSize=512KB
    log4j.appender.logfile.MaxBackupIndex=3
    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n


    5.  把log4j.properties文件放入 user_projectsdomainsase_domain 下。(base_domain是这里使用的domain name, 如果domain name 不一样,应该知道要怎么做了)

    因为上面servlet 中,读取log4j  的配置是 PropertyConfigurator.configure("log4j.properties");

    这样就直接到  base_domain的路径下去找log4j.properties。

    在log4j.properties配置产生的日志文件 logfile.log默认也会放到  base_domain目录下,

    也可以修改, 建议是可以放到 “base_domainserversAdminServerlogs” 这个目录下。

    6. 接下来通过 http://localhost:8080/appname/servletname

    访问就可以了

     

     

  • 相关阅读:
    JID 2.0 RC4 发布,高性能的 Java 序列化库
    FBReaderJ 1.6.3 发布,Android 电子书阅读器
    Arquillian 1.0.3.Final 发布,单元测试框架
    JavaScript 的宏扩展 Sweet.js
    Hypertable 0.9.6.5 发布,分布式数据库
    JRuby 1.7.0 发布,默认使用 Ruby 1.9 模式
    httppp 1.4.0 发布,HTTP响应时间监控
    Redis 2.6.0 正式版发布,高性能K/V服务器
    OfficeFloor 2.5.0 发布,IoC 框架
    XWiki 4.3 首个里程碑发布
  • 原文地址:https://www.cnblogs.com/riskyer/p/3230748.html
Copyright © 2011-2022 走看看