我使用LOG4J生成日志文件

我使用LOG4J生成日志文件

配置如下
log4j.rootCategory=INFO,file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS} %-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.file.File=D:\tomcat5.5\webapps\lbs\log.txt
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.Append=false
log4j.appender.file.Threshold=INFO
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS} %-4r %-5p [%t] %37c %3x - %m%n

本来想实现自动生成每天的日志 在本地是通过了 放到服务器上的时候 就会是今天把昨天的日志覆盖 无法在后面添加日期

请对这个使用比较了解的人帮忙下 谢谢!!
[b]问题补充:[/b]
我使用LOG4J生成日志文件

配置如下
log4j.rootCategory=INFO,file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS} %-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.file.File=D:\tomcat5.5\webapps\lbs\log.txt
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.Append=false
log4j.appender.file.Threshold=INFO
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS} %-4r %-5p [%t] %37c %3x - %m%n

本来想实现自动生成每天的日志 在本地是通过了 放到服务器上的时候 就会是今天把昨天的日志覆盖 无法在后面添加日期

请对这个使用比较了解的人帮忙下 谢谢!!

最开始这个是Append=true

不可以 我才改为 Append=false 的

你好,
你先换台服务器试试,应该和服务器的设置有关系。

Unix下使用Log4j,是存在BUG的. 可能出现你说的这个问题..

Google一下 org.apache.log4j.DailyRollingFileAppenderExt
是专门有个真对Log4J的Unix扩展补丁; 换做这个应该可以正常了.

#log4j.rootLogger=DEBUG,A1,R
log4j.rootLogger=INFO,A1,R
#log4j.category.com.laoer=INFO,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,SSS} [%c]-[%p] %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=\log\log.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~web.xml 配置~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

log4j-init
com.kevin.myapp.common.servlet.Log4JInit

log4j-init-file
/WEB-INF/config/log4j.properties

2

package com.kevin.myapp.common.servlet;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.PropertyConfigurator;

public class Log4JInit extends HttpServlet{

    public void init(){
        String prifix = getServletContext().getRealPath("/");
        String file = getInitParameter("log4j-init-file");
        if(file != null){
            Properties prop = new Properties();
            try{
            prop.load(new FileInputStream(prifix+file));
            prop.setProperty("log4j.appender.R.File",
                    prifix + prop.getProperty("log4j.appender.R.File"));
            PropertyConfigurator.configure(prop);
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }

    public void doGet(HttpServletRequest request,HttpServletResponse response){
    }

}

你把
[code="java"]log4j.appender.file.Append=false[/code]
改成
[code="java"]log4j.appender.file.Append=true[/code] 试试

可参考
[url]http://supermarket4.spaces.live.com/blog/cns!2B30338E65CEAFCD!109.entry[/url]

在配置中设置Append=true

log4j.appender.file.File=D:\tomcat5.5\webapps\lbs\log.txt
log4j.appender.file.Append=false

这两句就知道了,第一句明显可以看出即使每天产生一个文件,但文件名重复,只有覆盖了。第二句意思是内容没有在当前文件后面续写。

所以只有当天的一个日志文件。