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

    访问就可以了

     

     

  • 相关阅读:
    jvm gc 线程
    高分辨率图像建筑物提取数据集制作
    Ubuntu 更改软件源
    后台程序员简单应用前端的bootstrap(小白)
    php--常见算法3
    php--常见算法2
    php--常见算法1
    php三种排序算法
    Django学习之十二:Cache 缓存组件
    Restframe_work 回顾记忆集
  • 原文地址:https://www.cnblogs.com/riskyer/p/3230748.html
Copyright © 2011-2022 走看看