📄 logclass.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. * 写日志文件类 */package documenteditor;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.text.SimpleDateFormat;import java.util.Date;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */public class LogClass extends Thread{ private SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); private SimpleDateFormat df2 = new SimpleDateFormat("HH:mm:ss"); private String path = System.getProperty("user.dir"); private MessageQueue logQueue = null;//写消息列队 public LogClass(){ logQueue = new MessageQueue(10); } @Override public void run(){ while(true){ try { sleep(1); if(logQueue.size()>0){ String[] Strs = logQueue.Dequeue().split("~"); if(Strs.length>1){ WriteLog(Strs[0], Strs[1]); } } } catch (InterruptedException ex) { Logger.getLogger(LogClass.class.getName()).log(Level.SEVERE, null, ex); } } } public void SendWriteLog(String log,String LogID){ logQueue.Enqueue(log+"~"+LogID); } private void WriteLog(String log,String LogID){ String FileName = "Log" + LogID + df.format(new Date()) + ".log"; try { File f = new File(path, FileName); if (!f.exists()) { f.createNewFile(); Date NowDate = new Date(); //删除掉十五天以前的日志文件 NowDate.setTime(NowDate.getTime()-15*24*60*60*1000); String OldFileName = "Log" + LogID + df.format(NowDate) + ".log"; File of = new File(path, OldFileName); if (of.exists()) { of.delete(); } } RandomAccessFile rf = new RandomAccessFile(path+"\\"+FileName,"rw"); rf.seek(rf.length()); log = df2.format(new Date())+" : "+log+"\r\n"; rf.write(log.getBytes()); rf.close(); } catch (FileNotFoundException ex) { Logger.getLogger(LogClass.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(LogClass.class.getName()).log(Level.SEVERE, null, ex); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -