日志筛选工具(二)

来源:互联网 发布:世界上的另一个你知乎 编辑:程序博客网 时间:2024/05/20 23:36

controller

    /**     * 辅助分析查看别的系统的日志     * @param ip     * @param instance     * @param logfilePath     */    @Request(url="assistant",  view="/um2/env/real-log.jsp")    public void assistant(@SimpleVariable("ip")String ip, @SimpleVariable("instance")String instance,             @SimpleVariable("logfilePath")String logfilePath, @SimpleVariable("username")String username,            @SimpleVariable("password")String pwd){        try {            AuditLog.info(getCurrentUser(request) + "在" + request.getRemoteAddr() + "上使用辅助工具查看了[" + ip + "@" + instance + "]的日志");            CrtRunner.addAssistantTask(ip, instance, logfilePath, username, pwd);            //分配一个通道号            String channelId = UUID.randomUUID().toString();            request.setAttribute("channelId", channelId);            request.setAttribute("instance", instance);            request.setAttribute("ip", ip);            if(!CrtRunner.registerChannel(ip, instance, request.getRemoteAddr(), channelId)){                request.setAttribute("result", "failed");            }        } catch (Exception e) {            logger.error(e.getMessage());            request.setAttribute("result", "failed");            request.setAttribute("msg", e.getMessage());        }    }    public void outMsg(HttpServletResponse resp, String msg) {        try {            resp.getWriter().println(msg);        } catch (IOException e1) {            e1.printStackTrace();        }    }    /**     * 用来检测登陆,什么都不做     */    @Request(url="testLogin")    public void testLogin(){}    /**     * 读取实时日志     * @param req     * @param resp     */    @Request(url="readLog")    public void readLog(HttpServletRequest req, HttpServletResponse resp){        LogTask data = null;        try {            String instanceIp = req.getParameter("ip");            String instanceName = req.getParameter("instance");            String channelId = req.getParameter("channelId");            String filter = req.getParameter("filter");            int start = Integer.parseInt(req.getParameter("start"));            try{                data = CrtRunner.readData(instanceIp, instanceName,                         start, req.getRemoteAddr(), channelId, filter);                resp.getWriter().println(JSONObject.fromBean(data).toString());            }catch(Exception e){                logger.error(e.getMessage());                outMsg(resp, e.getMessage());            }        } catch (Exception e) {            logger.error(e.getMessage(), e);            outMsg(resp, e.getMessage());        }    }
0 0
原创粉丝点击