如何生成每天的日志文件?

newyu1127 2006-07-31 11:42:52
写了一个类生成日志文件
import org.apache.log4j.*;
import java.io.IOException;

public class COProxyLog //系统运行日志。
{
private static Category m_Log = null;


public void InitOProxyLog(){
try{


m_Log = Category.getInstance( cLogFIleName );
RollingFileAppender appender = new RollingFileAppender( new PatternLayout("%d{yyyy-MM-dd HH:mm:ss} :: %5p :: %m%n") ,"online.log" , true );

appender.setMaxBackupIndex( 1000 );
appender.setMaxFileSize( 102400KB);

m_Log.addAppender( appender );
//%5p - %m%n
ConsoleAppender capp = new ConsoleAppender( new PatternLayout( "%5p - %m%n" ) );
m_Log.addAppender( capp );
m_Log.setLevel( cLevel );
} catch ( IOException e ){
}
}
}

可以生成日志,可以只有一个日志文件(online.log),如何可以完成这样的功能:即按每天的日期生成当天的日志文件?
...全文
709 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
newyu1127 2006-08-02
  • 打赏
  • 举报
回复
package proxy.Log;

import org.apache.log4j.*;
public class COProxyLog //系统运行日志。
{
public void InitOProxyLog(){
m_Log = Logger.getLogger(COProxyLog.class);
}
private static Category m_Log = null;
}
运行后出现错误
log4j:WARN No appenders could be found for logger (proxy.Log.COProxyLog).

log4j:WARN Please initialize the log4j system properly.
为什么???
如果我把m_Log 定义为Logger类型的,可是在写日志的时候,
比如这句:

try {
.........
} catch (IOException e) {
m_Log .info("COProxyServer::COProxyServer()--catch1:"+ this.getClass().getName() , e.getClass().getName() , e.getMessage());
/////这里会提示出错,只有将m_Log 定义Category 才行.
e.printStackTrace();
}
newyu1127 2006-08-02
  • 打赏
  • 举报
回复
TO maquan('ma:kju):
高手就是高手,一句话就解决了。万分感谢。
maquan 2006-08-02
  • 打赏
  • 举报
回复
下面是用你的程序改的:

import org.apache.log4j.*;
import java.io.IOException;

public class COProxyLog // 系统运行日志。
{
private static Category m_Log = null;

public void InitOProxyLog() {
try {
m_Log = Category.getInstance(cLogFIleName);
DailyRollingFileAppender appender = new DailyRollingFileAppender(
new PatternLayout("%d{yyyy-MM-dd HH:mm:ss} :: %5p :: %m%n"),
"online.log", ".yyyy-MM-dd");

//appender.setMaxBackupIndex(1000);
//appender.setMaxFileSize("102400KB");

m_Log.addAppender(appender);
// %5p - %m%n
ConsoleAppender capp = new ConsoleAppender(new PatternLayout("%5p - %m%n"));
m_Log.addAppender(capp);
m_Log.setLevel(cLevel);
} catch (IOException e) {
}
}
}
凋零的老树 2006-08-02
  • 打赏
  • 举报
回复
自己写一个类就完
OnlyFor_love 2006-08-02
  • 打赏
  • 举报
回复
楼上各位说的不错
zgysc 2006-08-02
  • 打赏
  • 举报
回复
需要有配置文件
infowain 2006-08-01
  • 打赏
  • 举报
回复
参数是加在log4j.properties这个配置文件里面的
不是加在你的java程序里面
newyu1127 2006-08-01
  • 打赏
  • 举报
回复
谢谢各位的回答,但是我想知道的是。我原先的方法为:
public void InitOProxyLog(){
try{


m_Log = Category.getInstance( cLogFIleName );
RollingFileAppender appender = new RollingFileAppender( new PatternLayout("%d{yyyy-MM-dd HH:mm:ss} :: %5p :: %m%n") ,"online.log" , true );

appender.setMaxBackupIndex( 1000 );
appender.setMaxFileSize( 102400KB);

m_Log.addAppender( appender );
//%5p - %m%n
ConsoleAppender capp = new ConsoleAppender( new PatternLayout( "%5p - %m%n" ) );
m_Log.addAppender( capp );
///////////////我想在这里加入
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.DatePattern='.'yyyy-MM-dd
log4j.appender.A4.layout=org.apache.log4j.PatternLayout
这些参数可以吗?加入后是否就可以每天生成相应的日志文件?????

m_Log.setLevel( cLevel );
} catch ( IOException e ){
}
}

agu 2006-07-31
  • 打赏
  • 举报
回复
log4j.category.com.hhcn.newland.videoplay.device.TestHH8060=INFO,A4
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.DatePattern='.'yyyy-MM-dd
log4j.appender.A4.File=debugLog/testHH8060.log
log4j.appender.A4.layout=org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=%-4r %3x - %m%n
log4j.threshold=INFO
这样的配置log4j.properties文件就能生成你要的每日日志文件,如上例先在debugLog目录下生成testHH8060.log文件,然后再生成代有日期的日志文件.
cuij7718 2006-07-31
  • 打赏
  • 举报
回复
log4j.properties配置如下
log4j.rootLogger=DEBUG,R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=comm.log
log4j.appender.R.MaxBackupIndex=100
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
cuij7718 2006-07-31
  • 打赏
  • 举报
回复
log4j的配置文件加上
org.apache.log4j.DailyRollingFileAppender
如 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
如果加上了 org.apache.log4j.DailyRollingFileAppender 那就要把MaxFileSize的设置项去掉
MaxBackupIndex设置项是否也要去掉,记不清了,感觉不用去,毕竟需要有一个总数限制

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧