http://dev.csdn.net/develop/article/52/article/52/52626.shtm
http://www.zahui.com/html/6/37025.htm

解决方案 »

  1.   

    log4j.appender.CONSOLE=org.org.apache.log4j.ConsoleAppender
                              ^
                              |
                          这两个org是什么意思??
      

  2.   

    先謝謝大家的幫忙,改了還是顯示如果錯誤:
    14:28:36,078 INFO  [JkMain] Jk running ID=0 time=0/63  config=null
    14:28:36,265 INFO  [TilesRequestProcessor] Tiles definition factory found for re
    quest processor ''.
    ERROR: invalid console appender config detected, console stream is looping
      

  3.   

    invalid console appender config detected, console stream is looping--->死循环?
      

  4.   

    不用配什么target,console部分参照下面的配置就行了,console就是输出到控制台的。#### Use two appenders, one to log to console, another to log to a file
    log4j.rootLogger=DEBUG, console, Rfile#### First appender writes to console
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.
    log4j.appender.console.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
      

  5.   

    謝謝大家,我拷貝 wingtrace(暮寒.烟灰.风化物.天佑我的母亲) 的配置,還是顯示:
    ERROR: invalid console appender config detected, console stream is looping 的錯誤
      

  6.   

    ERROR: invalid console appender config detected, console stream is looping
      

  7.   

    public class LogMgr {
    private static LogMgr instance;
    private LogMgr()
    {
            PropertyConfigurator.configure(LogMgr.class.getResource("log4j.properties"));
    }
    public synchronized static LogMgr getInstance()
    {
    if (instance == null) 
            {
                instance = new LogMgr();            
            }
            return instance;
    }
    public Logger getLog(String arg0)
    {
    Logger logger = Logger.getLogger(arg0);
    return logger;
    }
    }private Logger log=LogMgr.getInstance().getLog(AddClassAction.class.getName());
    我的代碼侑問題嗎
      

  8.   

    晕,写这么冗余的代码, 根本不用自己去写个什么LogMgr,纯粹多此一举。PropertyConfigurator.configure(LogMgr.class.getResource("log4j.properties"));随便丢在哪个你想初始化的地方。logger的获取和使用:给你看个例子:package log4jdemo;import org.apache.log4j.*;
    class Test 
    {
    //重点就下面这行,log4j自己提供了获取logger的静态方法,根本不用你自己去封装.    private static final Logger logger = Logger.getLogger(Test.class);
    public static void main(String[] args) 
    {
    logger.info("Hello World!");
    }
    }
      

  9.   

    我想在系统启动时初试化
    PropertyConfigurator.configure(LogMgr.class.getResource("log4j.properties"));
    不用单体结构,不知道怎样配置,我用的是struts,我本来想做一个serverlet,配置到struts中,不知道怎样做.
      

  10.   

    java代码:package com.pigo.util;import java.io.*;
    import java.util.*;import javax.servlet.*;
    import javax.servlet.http.*;import org.apache.log4j.*;public class Log4jInitServlet extends HttpServlet {
        private static final String CONTENT_TYPE = "text/html; charset=GBK";    //Initialize global variables
        public void init() throws ServletException {
            //以下是log4j的初始化,可以把log4j.properties放到WEB-INF/class下让他自动初始化
            ServletContext sct = getServletContext();
            String prefix = sct.getRealPath("/");
            System.out.println("[....Log4j]: 初始化Log4j...");
            //下面的参数是从web.xml中寻找到的
            String file = getInitParameter("log4j_config");
            if (file != null) {
    // 根据配置初始化log4j
                try {
                    PropertyConfigurator.configure(loadproperties(prefix + file));
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                PropertyConfigurator.configure(prefix + file);
                System.out.println("[....Log4j]: Log4j已加载...");
            } else {
                System.out.println("[....Log4j]: Log4j装载失败...");
            }    //Process the HTTP Get request
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
                response.setContentType(CONTENT_TYPE);
                PrintWriter out = response.getWriter();
                out.println("<html>");
                out.println("<head><title>Log4jInitServlet</title></head>");
                out.println("<body bgcolor=\"#ffffff\">");
                out.println("<p>The servlet has received a " + request.getMethod() +
                            ". This is the reply.</p>");
                out.println("</body>");
                out.println("</html>");
                out.close();
        }
                //Process the HTTP Post request
                public void doPost(HttpServletRequest request,
                                   HttpServletResponse response) throws
                ServletException, IOException {
                doGet(request, response);
        }
                //Clean up resources
                public void destroy() {
        }
    }
    web.xml<servlet>
        <servlet-name>log4jinitservlet</servlet-name>
        <servlet-class>com.pigo.util.Log4jInitServlet</servlet-class>
        <init-param>
          <param-name>log4j_config</param-name>
          <param-value>/WEB-INF/log4j.properties</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>建议你先认真看一下log4j自带的文档。