import java.sql.*;
import java.io.*;
import java.util.*;
import java.net.*;
import java.util.Date;
class LogToFile{
String logStr = new String();
PrintWriter log;
String logFile = new String();
String extFile = new String();
String tmpFile = new String();
int countNum=0;
final int WarningNum=20000;
Date now=null;
int a=1;
public LogToFile(String inLogFile){
tmpFile=inLogFile;
now = new Date();
a=now.getDate();
logFile = "./tmplog/"+inLogFile+(1900+now.getYear())+"-"+(1+now.getMonth())+"-"+now.getDate();
extFile = ".txt";
try { 
log = new PrintWriter(new FileWriter(logFile+extFile, true), true); 

catch (IOException e) { 
System.out.println("无法打开日志文件: " + logFile); 

}
public synchronized void DoLog(String inStr){
now = new Date();
log.println((1900+now.getYear())+"-"+(1+now.getMonth())+"-"+now.getDate() + "-"+now.getHours()+"-"+now.getMinutes()+"-"+now.getSeconds()+"<$>" + inStr.replace('\n','N').replace('\r','R') + "<$>end<$>"); 
//countNum++;
if (now.getDate()!=a)
{
try {
logFile = "./tmplog/"+tmpFile+(1900+now.getYear())+"-"+(1+now.getMonth())+"-"+now.getDate();
log = new PrintWriter(new FileWriter(logFile+extFile, true), true);
//log = new PrintWriter(new FileWriter(logFile+"_a"+extFile, true), true);
//countNum=0;
a=now.getDate();

catch (IOException e) { 
System.out.println("无法打开日志文件: " + logFile); 
}
}
}
public synchronized PrintWriter GetLog(){
return log;
}
}用法:
LogToFile myLog=new LogToFile("LogFileName");
myLog.DoLog("需要书写的文本");