jsp+javabean结构,服务端写日志文件。但是现在记录不聊所有的记录。
tomcat的web项目
技术 就是 访问jsp页面,调用后台类文件写日志。
日志格式以每天一个日志文件追加记录操作信息。
现在写出来的不全。老是最近你1个小时左右的。有时候最近几分钟的,以前的记录就没有了。
下面是方法:
/**
* 数据库写日志
* @param logType 日志类型
* @param msg 日志信息
*/
public static void writeLog(String logType, String msg) {
//获取日期和时间,生成格式为 2001-03-09 09:08:07
Calendar calNow = Calendar.getInstance();
String yy = " ", mm = " ", dd = " ";
int y = calNow.get(Calendar.YEAR);
int m = calNow.get(Calendar.MONTH) + 1;
int d = calNow.get(Calendar.DAY_OF_MONTH);
yy = String.valueOf(y);
mm = String.valueOf(100 + m).substring(1);
dd = String.valueOf(100 + d).substring(1);
String tmpDay = yy + "- " + mm + "- " + dd;
String hh = " ", min = " ", ss = " ";
int h = calNow.get(Calendar.HOUR_OF_DAY);
int mi = calNow.get(Calendar.MINUTE);
int s = calNow.get(Calendar.SECOND);
hh = String.valueOf(100 + h).substring(1);
min = String.valueOf(100 + mi).substring(1);
ss = String.valueOf(100 + s).substring(1);
String tmpTime = String.valueOf(hh + ": " + min + ": " + ss);
if (logType.equals( "work ")) {
logType = "Work_ ";
}
else if (logType.equals( "error ")) {
logType = "Err_ ";
}
else if(logType.equals( "mail ")){
logType = "Mail_ ";
}
else {
logType = "Other_ ";
}
try {
if (logPath == null) {
init();
}
}
catch (Exception e) {
System.out.println( "系统写日志时产生错误: " + e.toString());
}
//读文件内容
String nameOfTextFile = logPath + "\\ " + logType + tmpDay + ".log ";
//获取文件长度并定义数组
File fl = new File(nameOfTextFile);
String head = "[ "+tmpDay+ " "+tmpTime + "] " + msg + "\r\n ";
//写文件内容
try {
FileWriter fis = null;
if (fl.exists()) {
fis = new FileWriter(fl,true);
}else{
fis = new FileWriter(fl);
}
BufferedWriter bout = new BufferedWriter(fis);
bout.write(head);
bout.close();
fis.close();
fl=null;
}
catch (IOException e) {
System.out.println( "系统写日志时产生错误: " + e.toString());
}
}
如果解决啊??我不清除如何弄了。大哥们帮忙啊
我想让他记录一天所有的数据。
我没清除这种情况是怎么弄的,是文件重新new了 还是被覆盖了?
还是别的?
[解决办法]
为什么不使用log4j