⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logs.jsp

📁 这是个爬虫和lucece相结合最好了
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%@include file="/include/handler.jsp"%><%@page import="org.archive.crawler.datamodel.CrawlOrder" %><%@page import="org.archive.crawler.settings.SettingsHandler" %><%@page import="org.archive.crawler.settings.XMLSettingsHandler" %><%@page import="org.archive.crawler.admin.CrawlJob" %><%@page import="org.archive.crawler.util.LogReader" %><%@page import="java.io.File" %><%@page import="org.archive.util.TextUtils" %><%    /* Various settings with default values (where applicable) */    String mode = request.getParameter("mode");    String[] log = null;    String logText = "";    String logInfo = "";    int linesToShow = 50;    int iTime = -1;    int linenumber = 1;    String timestamp = null;    String regexpr = null;    boolean ln = false;    boolean grep = false;    boolean indent = false;    int linesToSkip = 1;            /* Which log to display */    String fileName = request.getParameter("log");    if(fileName == null || fileName.length() <= 0) {        fileName = "crawl.log";    }        if(request.getParameter("linesToShow") != null && request.getParameter("linesToShow").length()>0 ){        try{            linesToShow = Integer.parseInt(request.getParameter("linesToShow"));        } catch(java.lang.NumberFormatException e){            linesToShow = 50;        }    }    /* Location of logs */    SettingsHandler settingsHandler = null;    CrawlJob theJob = null;    if(request.getParameter("job") != null && request.getParameter("job").length() > 0){        //Get logs for specific job. This assumes that the logs for each job are stored in a unique location.        theJob = handler.getJob(request.getParameter("job"));    }else{        if(handler.getCurrentJob() != null){            // If no specific job then assume current one            theJob = handler.getCurrentJob();        } else if(handler.getCompletedJobs().size() > 0){            // If no current job, use the latest completed job.            theJob = (CrawlJob)handler.getCompletedJobs().get(handler.getCompletedJobs().size()-1);        }    }        if(theJob != null) {        // Got a valid crawl order, find it's logs        if(mode != null && mode.equalsIgnoreCase("number")) {            /* Get log by line number */            try {                linenumber = Integer.                    parseInt(request.getParameter("linenumber"));            }            catch(Exception e){/*Ignore*/}            log = LogReader.getFromSeries(theJob.getLogPath(fileName),                linenumber, linesToShow);        } else if(mode != null && mode.equalsIgnoreCase("time")) {            /* View by timestamp */            timestamp = request.getParameter("timestamp");                    if(timestamp == null || timestamp.length() < 1)            {                // No data                logText = "No timestamp!";            }                else            {                int timestampLinenumber = LogReader.                    findFirstLineBeginningFromSeries(theJob.getLogPath(fileName),                        timestamp);                log =  LogReader.getFromSeries(theJob.getLogPath(fileName),                    timestampLinenumber, linesToShow);            }        }        else if(mode != null && mode.equalsIgnoreCase("regexpr"))        {            /* View by regexpr */            try            {                linesToSkip = Integer.parseInt(request.getParameter("linesToSkip"));            }            catch(Exception e){/*Ignore*/}                        regexpr = request.getParameter("regexpr");                        if(regexpr == null)            {                logText = "No regular expression";            }            else            {                ln = request.getParameter("ln")!=null&&request.getParameter("ln").equalsIgnoreCase("true");                grep = request.getParameter("grep")!=null&&request.getParameter("grep").equalsIgnoreCase("true");                indent = request.getParameter("indent")!=null&&request.getParameter("indent").equalsIgnoreCase("true");                                if(grep){                    regexpr = ".*" + regexpr + ".*";                }                                if(indent) {                    log = LogReader.                        getByRegExprFromSeries(theJob.getLogPath(fileName),                            regexpr, " ", ln,linesToSkip-1, linesToShow);                } else {                    log = LogReader.                        getByRegExprFromSeries(theJob.getLogPath(fileName),                            regexpr, 0, ln,linesToSkip-1, linesToShow);                }            }        } else {            /* View by tail (default) */            mode = "tail";                try            {                iTime = Integer.parseInt(request.getParameter("time"));            }            catch(Exception e){/* Ignore - default value will do */}            log = LogReader.tail(theJob.getLogPath(fileName), linesToShow);        }    }     else     {        mode = "tail";        log = new String[]{"Invalid or missing crawl order",""};    }        if(log != null && log.length>=2){        logText = log[0];        logInfo = log[1];    } else {        logText = "";        logInfo = "";    }            String title = "View logs";    int tab = 3;    %><%@include file="/include/head.jsp"%>    <% if(iTime>0){ %>        <meta http-equiv=Refresh content="<%=iTime%> URL=logs.jsp?time=<%=iTime%>&log=<%=fileName%>&linesToShow=<%=linesToShow%>">    <% } %>        <%         if(theJob == null){            out.println("<br /><b>No job selected/available</b>");            return;        }     %>    <script type="text/javascript">        function viewLog(log)        {            document.frmLogs.log.value = log;            document.frmLogs.submit();        }                function changeMode(mode)        {            document.frmLogs.mode.value = mode;            document.frmLogs.submit();        }    </script>    <form method="get" action="logs.jsp" name="frmLogs">        <input type="hidden" name="job" value="<%=theJob.getUID()%>">        <table border="0" cellspacing="0" cellpadding="0">            <tr>                <td height="3"></td>            </tr>            <tr>                <td valign="top" width="210">                    <table border="0" cellspacing="0" cellpadding="0">                        <tr>                            <td width="50" align="right" valign="top">                                &nbsp;<b>View:</b>&nbsp;                            </td>                            <td align="left" valign="top" width="160">                                <a href="javascript:viewLog('crawl.log')" <%=fileName.equalsIgnoreCase("crawl.log")?"style='text-decoration: none; color: #000000'":""%>>crawl.log</a><br>                                <a href="javascript:viewLog('local-errors.log')" <%=fileName.equalsIgnoreCase("local-errors.log")?"style='text-decoration: none; color: #000000'":""%>>local-errors.log</a><br>                                <a href="javascript:viewLog('progress-statistics.log')" <%=fileName.equalsIgnoreCase("progress-statistics.log")?"style='text-decoration: none; color: #000000'":""%>>progress-statistics.log</a><br>                                <a href="javascript:viewLog('runtime-errors.log')" <%=fileName.equalsIgnoreCase("runtime-errors.log")?"style='text-decoration: none; color: #000000'":""%>>runtime-errors.log</a><br>                                <a href="javascript:viewLog('uri-errors.log')" <%=fileName.equalsIgnoreCase("uri-errors.log")?"style='text-decoration: none; color: #000000'":""%>>uri-errors.log</a><br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -