logclass.java

来自「GPRS数据通讯软件源码」· Java 代码 · 共 82 行

JAVA
82
字号
/* * 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 + =
减小字号Ctrl + -
显示快捷键?