log4j配置如下:
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=${myApp.root}/WEB-INF/myApp.log
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd要求根据日期获取日志文件内容,比如输入"2007-8-23",就将myApp.log.2003-08-23的内容显示出来。已经写好了读取日志方法。
private void showLogs(String logFileName){ //从指定文件读取日志内容,已完成。}现在需要根据日期来获取文件名。
public String getLogFileName(String curDate) { String fileName = "";
//中间这部分怎么写?
return fileName;
}新接触java,对些基础的还可以对付,对log4j实在不熟,希望大家帮忙。
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=${myApp.root}/WEB-INF/myApp.log
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd要求根据日期获取日志文件内容,比如输入"2007-8-23",就将myApp.log.2003-08-23的内容显示出来。已经写好了读取日志方法。
private void showLogs(String logFileName){ //从指定文件读取日志内容,已完成。}现在需要根据日期来获取文件名。
public String getLogFileName(String curDate) { String fileName = "";
//中间这部分怎么写?
return fileName;
}新接触java,对些基础的还可以对付,对log4j实在不熟,希望大家帮忙。
try {
fileName=sdf.format(sdf.parse(curDate));
} catch (ParseException e1) {
e1.printStackTrace();
}
import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Logger;public class DcsLog {
// protected transient Log logger = LogFactory.getLog(getClass());
protected transient Logger logger = Logger.getLogger(getClass());
private static DcsLog instance;
private static final String FILE_APPENDER_ID = "R"; private DcsLog() {
} public synchronized static DcsLog getInstance() {
if (instance == null) {
instance = new DcsLog();
}
return instance;
} public Appender getFileAppender() {
DailyRollingFileAppender appender = (DailyRollingFileAppender) Logger
.getRootLogger().getAppender(FILE_APPENDER_ID);
return appender;
} public File getFile() {
return new File(((DailyRollingFileAppender) getFileAppender())
.getFile());
} public static void main(String[] args) {
DcsLog o = DcsLog.getInstance();
System.out.println(o.getFile().getName());
System.out.println(o.getFile().getAbsolutePath());
}}