分析日志.log

 /**
     * 读取日志,找出嫌疑人
     *
     * @param logFile 日志文件
     * @throws
     */
 
@Test
    public void testLog() {
        List<String> paths = getFileName("C:\\Users\\cowain\\Desktop\\新建文件夹");

        for (int i = 0; i < paths.size(); i++) {
            File tmpLogFile = new File(paths.get(i));

            try {
                //指定文件可读可写
                final RandomAccessFile randomFile = new RandomAccessFile(tmpLogFile, "r");


                String tmp = "";
                String pre = "";

                while ((tmp = randomFile.readLine()) != null) {
                    String sb=new String();
                    String txt = new String(tmp.getBytes("ISO8859-1"));
                    if(txt.contains("CWA2179")){
                        sb+=System.getProperty("line.separator");
                        sb+=pre;
                        sb+=System.getProperty("line.separator");
                        sb+=txt;

                        try {
                            String path = "C:\\Users\\cowain\\Desktop\\王总日志.txt";
                            BufferedWriter out = new BufferedWriter(
                                    new OutputStreamWriter(new FileOutputStream(path,true)));
                            out.write(sb+" ");
                            out.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    pre=txt;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }


        System.out.println("结束");

    }

   

    private List<String> getFileName(String filePath){
        List<String> list=new ArrayList<>();
        if(null!=filePath&&!"".equals(filePath)){
            File file = new File(filePath);
            //判断文件或目录是否存在
            if(!file.exists()){
                log.info("【"+filePath + " not exists】");
            }
            //获取该文件夹下所有的文件
            File[] fileArray= file.listFiles();
            File fileName = null;
            for(int i =0;i<fileArray.length;i++){
                fileName = fileArray[i];
                list.add(fileName.getAbsolutePath());

            }
        }
        return list;
    }

access.log是服务器日志文件,记录了所有访问服务器的请求,包括请求的IP地址、时间、请求的URL、HTTP状态码等信息。分析access.log可以帮助管理员了解服务器的使用情况和访问状况,帮助优化服务器性能和安全。 以下是对access.log的一些分析方法: 1. 统计访问量:可以通过分析access.log文件中的IP地址来统计访问量,了解哪些IP访问量大,哪些访问量小。可以通过访问量统计来了解网站的热门内容和用户访问的情况。 2. 分析访问来源:可以通过分析access.log文件中的来源URL和Referer信息来了解用户从哪些渠道访问网站,比如搜索引擎、社交媒体等。这可以帮助管理员了解网站的受众群体和用户偏好,以便更好地定位网站的宣传和推广。 3. 检测攻击:可以通过分析access.log文件中的HTTP状态码和请求URL来检测是否有攻击行为,比如SQL注入、XSS攻击等。管理员可以根据这些攻击信息来及时采取相应的安全措施,防止网站被攻击。 4. 优化页面性能:可以通过分析access.log文件中的请求URL和响应时间来了解哪些页面响应时间较长,需要进行优化。管理员可以根据这些信息来优化网站的页面性能,提高用户体验。 5. 跟踪错误日志:可以通过分析access.log文件中的HTTP状态码和请求URL来跟踪错误日志,比如404错误、500错误等。管理员可以根据这些错误信息来找出问题所在,及时修复网站的错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值