os2web/os2web_audit 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

os2web/os2web_audit

Composer 安装命令:

composer require os2web/os2web_audit

包简介

Drupal OS2 module that provides audit logging for Danish Municipalities

README 文档

README

This audit module can be used to track changes and perform audit logging on drupal sites.

Features

This module includes three plugins that facilitate logging information to Loki, files, or to the database through Drupal's watchdog logger.

These logging providers are designed using Drupal's plugin APIs. Consequently, it opens up possibilities for creating new AuditLogger plugins within other modules, thus enhancing the functionality of this audit logging.

For performance purposes we use a queue system. This avoids hindering performance more than necessary as the actual logging is done async. Furthermore, this allows for retries in case any audit log plugins should fail.

Installation

Enable the module and go to the modules setting page at /admin/config/os2web_audit/settings/.

composer require os2web/os2web_audit
drush pm:enable os2web_audit

Drush

Test audit log

The module provides a Drush command named audit:log. This command enables you to log a test message to the configured logger. The audit:log command accepts a string that represents the message to be logged.

The message provided, will be logged twice, once as an informational message and once as an error message.

drush audit:log 'This is a test message'

Retry jobs

The module also comes with methods for retrying failed jobs in the os2web_audit queue.

drush audit:retry-failed-jobs

Per default, it simply retries all failed jobs however it comes with the following options:

 --id[=ID]       Retry a specific job by ID (e.g. 1245.)
 --ignore-state  Retry job regardless of state. This only effects the --id option.
 --limit[=LIMIT] Retry (up to) a limited number of jobs. Minimum: 1, Maximum: 5000, Default 1000.

Usage

The module exposes a simple Logger service which can log an info and error messages.

Inject the logger service named os2web_audit.logger and send messages into the logger as shown below:

$msg = sprintf('Fetch personal data from service with parameter: %s', $param);
$this->auditLogger->info('Lookup', $msg);

Implementations

See implementations for a list of modules that have audit logging integrated.

Queue

The actual logging is handled by jobs in an Advanced Queue queue.

The queue, OS2Web audit (os2web_audit), must be processed by a server cron job, e.g.

drush advancedqueue:queue:process os2web_audit

List the queue (and all other queues) with

drush advancedqueue:queue:list

or go to /admin/config/system/queues/jobs/os2web_audit for a graphical overview of jobs in the queue.

Purge successful jobs

It is possible to configure the queue to purge jobs based on the number of jobs or the number of days since processing.

Go to admin/config/system/queues/manage/os2web_audit to configure this.

Below is an example of purging successful jobs after 7 days.

queue purge config

Remember to export this to ensure it is not overridden upon config import.

Coding standards

PHP files (PHP_CodeSniffer)

Check PHP coding standards

docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer install
docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer coding-standards-check

Apply coding standard changes

docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer install
docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer coding-standards-apply

Code analysis

phpstan is used to perform static analysis of the code. Run the following script:

./scripts/code-analysis

Markdown files

docker run --interactive --rm --volume "$PWD:/md" itkdev/markdownlint markdownlint '**/*.md' --fix
docker run --interactive --rm --volume "$PWD:/md" itkdev/markdownlint markdownlint '**/*.md'

os2web/os2web_audit 适用场景与选型建议

os2web/os2web_audit 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 14.14k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 05 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 os2web/os2web_audit 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 os2web/os2web_audit 我们能提供哪些服务?
定制开发 / 二次开发

基于 os2web/os2web_audit 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 14.14k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 14
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: EUPL-1.2
  • 更新时间: 2024-05-09