Log4j-Audit 技术文档
1. 安装指南
环境要求
- Java 8 或更高版本
- Log4j API 和 Core 2.9 或更高版本
- Apache Maven 3.x
源码构建
从源码构建 Log4j Audit 并安装到本地 Maven 仓库,请执行以下命令:
mvn clean install
2. 项目的使用说明
Log4j-Audit 提供了一个框架,用于定义审计事件并使用 Log4j 进行记录。该框架专注于定义事件,并为应用程序提供了一种简单的机制来记录这些事件,使产品能够为记录的事件提供一致性和有效性。它不关注如何将日志事件写入数据存储。Log4j 本身为此提供了许多选项。
预期的流程是业务分析师或产品经理将管理目录,定义事件和属性,以便事件消费者有一个一致的体验。例如,如果一个事件使用名为 "custAddr" 的属性,而另一个事件使用名为 "customerAddress" 的属性,那么这两个事件将使用相同名称的属性,它们具有相同的意义。
一旦在 Web 应用程序中修改了目录,它将保存为 JSON 到 Git 仓库。预期持续集成系统会注意到更改并开始构建该项目。构建将使用 Log4j Audit Maven 插件生成 Java 接口,Java 开发人员将使用这些接口在应用程序中实现审计日志记录。非 Java 应用程序通过发送适当的 JSON 形式的数据传输对象 (DTO) 并由审计服务执行与通过 Java 接口记录相同的验证。
Log4j Audit 本身不可完全使用。Log4j Audit 的用户必须有一个 Git 项目,其中包含 JSON 目录,该目录在构建后包含目录中定义的事件的 Java 接口。他们需要修改随 Log4j Audit 提供的审计服务,以包括 JSON 目录(通过包含前面讨论的 Git 项目作为依赖项),并按需配置审计服务。Log4j Audit 样例项目 (Log4j Audit Samples) 是一个示例项目,说明了如何执行这些任务。
3. 项目 API 使用文档
Log4j Audit API
Java 应用程序使用 Log4j Audit API 执行审计日志记录。
Log4j Audit Maven 插件
该插件用于从目录生成 Java 接口。
审计服务
非 Java 应用程序通过发送适当的 JSON 形式的数据传输对象 (DTO) 与审计服务交互,执行审计日志记录。
Log4j Catalog API
用于处理目录的 API。
Java Persistence Architecture (JPA)
用于持久化目录的模块。
JSON 目录读写模块
用于将目录的 JSON 版本读写到远程 Git 仓库的模块。
Web 应用程序
提供一个可以编辑目录各种组件的 Web 应用程序。
4. 项目安装方式
请按照以下步骤安装 Log4j Audit:
- 从 Apache Log4j Audit 官方网站下载 Log4j Audit 的最新版本。
- 解压下载的文件到指定的目录。
- 打开命令行窗口,切换到解压后的目录。
- 执行以下命令构建项目:
mvn clean install
构建完成后,Log4j Audit 将被安装到本地 Maven 仓库,可供其他项目使用。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区017
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX027
- 每日精选项目🔥🔥 01.17日推荐:一个开源电子商务平台,模块化和 API 优先🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~026
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie045
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0108
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09