java错误报警机制的实现

来源:互联网 发布:node pm2 静态目录 编辑:程序博客网 时间:2024/06/11 20:15

实现想法:

1.利用log4j或者slf4j的模式可以设置动态输出系统日志

2.使用线程实时去检测日志文件的生成内容,然后对这部分内容进行处理,后期可使用短信或者邮件的形式通知管理员

日志信息实时监测测试代码:

import java.io.File;     import java.io.IOException;     import java.io.RandomAccessFile;     import java.util.concurrent.Executors;     import java.util.concurrent.ScheduledExecutorService;     import java.util.concurrent.TimeUnit;public class LogView {         private long lastTimeFileSize = 0;  //上次文件大小         /**        * 实时输出日志信息        * @param logFile 日志文件        * @throws IOException        */        public void realtimeShowLog(File logFile) throws IOException{             //指定文件可读可写             final RandomAccessFile randomFile = new RandomAccessFile(logFile,"rw");             //启动一个线程每10秒钟读取新增的日志信息             ScheduledExecutorService exec =                  Executors.newScheduledThreadPool(1);             exec.scheduleWithFixedDelay(new Runnable(){                 public void run() {                     try {                         //获得变化部分的                         randomFile.seek(lastTimeFileSize);                         String tmp = "";                         while( (tmp = randomFile.readLine())!= null) {                             System.out.println(new String(tmp.getBytes("ISO8859-1")));                         }                         lastTimeFileSize = randomFile.length();                     } catch (IOException e) {                         throw new RuntimeException(e);                     }                 }             }, 0, 1, TimeUnit.SECONDS);         }                  public static void main(String[] args) throws Exception {             LogView view = new LogView();             final File tmpLogFile = new File("E:\\log.txt");             view.realtimeShowLog(tmpLogFile);         }         }    

原创粉丝点击