samuel4x4 / auditor
缺失的审计日志库。
9.0.4
2024-03-15 13:15 UTC
Requires
- php: >=7.4
- ext-json: *
- doctrine/annotations: ^1.8
- doctrine/orm: ^2.7|^3.1
- symfony/cache: ^4.0|^5.0|^6.0
- symfony/event-dispatcher: ^4.0|^5.0|^6.0
- symfony/lock: ^4.0|^5.0|^6.0
- symfony/options-resolver: ^4.0|^5.0|^6.0
Requires (Dev)
- doctrine/data-fixtures: ^1.4.4
- gedmo/doctrine-extensions: ^2.4|^3.0
- phpunit/phpunit: ^9.0
- symfony/var-dumper: ^4.0|^5.0|^6.0
Suggests
- samuel4x4/auditor-bundle: Integrate auditor library in your Symfony projects.
Conflicts
- doctrine/persistence: <1.3
README
auditor
的目的是提供一个简单且标准化的方式来收集审计日志。
架构
这个库围绕以下两个概念进行设计
- 负责收集审计事件的审计服务
- 负责持久化审计跟踪的存储服务
这两种类型的服务由提供者提供。
默认提供者
此库包含一个默认提供者:DoctrineProvider
DoctrineProvider
提供了审计服务和存储服务。它为所有 Doctrine ORM
数据库相关更改创建审计日志
- 包括插入和更新操作及其差异和关系字段差异。
- 多对多关系更改,关联和解关联操作。
- 如果可用,将记录负责这些更改的用户及其 IP 地址。
- 在 flush 事件期间,审计条目将插入到同一事务中,即使出现问题,全局状态也保持干净。
DoctrineProvider
支持以下 RDBMS
- MySQL
- MariaDB
- PostgreSQL
- SQLite
DoctrineProvider
应该可以与 Doctrine
支持的 任何其他 数据库一起使用。尽管如此,我们只能真正支持那些我们可以通过 GitHub Actions 进行测试的数据库。
基本上,您可以通过审计日志跟踪任何实体的任何更改。
注意: DoctrineProvider
无法跟踪 DQL 或直接 SQL 语句的执行。
官方文档
auditor
的官方文档可以在 这里 找到。
版本信息
变更日志可以在 这里 找到。
贡献
auditor
是一个开源项目。我们欢迎社区贡献。请将您的想法、代码审查、拉取请求和功能请求发送给我们,以帮助我们改进此项目。
在向此项目贡献时,请务必提供单元测试。为此,请遵循此专门的 README 中的说明。
鸣谢
- 感谢 所有贡献者
- 此库最初受到了 data-dog/audit-bundle 和 simplethings/entity-audit-bundle 的启发。
- 特别感谢 JetBrains 提供的 开源开发许可证
许可证
auditor
可免费使用,并受 MIT 许可证 的许可。