我使用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
这两句就知道了,第一句明显可以看出即使每天产生一个文件,但文件名重复,只有覆盖了。第二句意思是内容没有在当前文件后面续写。
所以只有当天的一个日志文件。