Skip to content

Latest commit

 

History

History
82 lines (70 loc) · 2.86 KB

File metadata and controls

82 lines (70 loc) · 2.86 KB

accessLog-java

介绍

accessLog-java 是一个用于分析访问日志的工具,无需依赖数据库即可进行日志查询与分析。它支持上传日志文件、定义日志格式、并提供多种分析功能,如IP识别、路径统计、状态码分析等。

软件架构

这是一个单体应用,基于Spring Boot框架开发,前端使用Layui作为UI组件库。项目结构清晰,模块化设计便于扩展和维护。

主要模块

  • 日志上传与解析:支持上传日志文件并定义日志格式。
  • 日志分析:提供多种分析功能,如IP统计、URL过滤、状态码分析等。
  • 查询语言支持:支持自定义查询语言进行复杂查询。
  • IP识别:集成IP地理位置识别功能。

功能特性

  • 支持日志文件上传与解析。
  • 提供多种日志分析功能(IP统计、URL过滤、状态码分析等)。
  • 支持自定义查询语言进行复杂分析。
  • 集成IP地理位置识别功能。
  • 优化了路径统计耗时部分,提升性能。

安装与部署

环境要求

  • Java 8 或更高版本
  • Maven 3.x
  • Spring Boot 2.x
  • Layui 前端框架

构建与运行

  1. 克隆仓库:
    git clone https://gitee.com/0X00000000/accessLog-java.git
  2. 进入项目目录:
    cd accessLog-java
  3. 构建项目:
    mvn clean package
  4. 运行项目:
    java -jar target/accessLog-java.jar
  5. 访问应用: 打开浏览器访问 http://localhost:8080

使用说明

上传日志文件

  1. 打开首页,点击“上传日志文件”按钮。
  2. 选择日志文件并定义日志格式(如 %a %l %u %t "%r" %s %D)。
  3. 点击“上传”按钮,系统将解析并展示日志内容。

日志分析

  1. IP统计:点击“IP统计”按钮,系统将展示访问次数最多的IP地址。
  2. URL过滤:点击“URL过滤”按钮,输入过滤条件,系统将展示匹配的URL路径。
  3. 状态码分析:点击“状态码分析”按钮,系统将展示不同状态码的访问次数。

自定义查询

  1. 在分析页面输入自定义查询语句,如:
    select ip, count(*) as count from access_log where status = 200 group by ip order by count desc limit 10
  2. 点击“分析”按钮,系统将展示查询结果。

技术细节

  • 后端框架:Spring Boot
  • 前端框架:Layui
  • 日志解析:使用正则表达式解析日志文件。
  • 查询语言:支持自定义查询语言,类似于SQL语法。
  • IP识别:使用IP数据库进行地理位置识别。

贡献指南

欢迎贡献代码和改进建议。请遵循以下步骤:

  1. Fork 仓库。
  2. 创建新分支。
  3. 提交代码更改。
  4. 创建 Pull Request。

许可证

本项目采用 MIT 许可证。详情请查看 LICENSE 文件。