承接 emran-alhaddad/statamic-logbook 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

emran-alhaddad/statamic-logbook

最新稳定版本:v1.0.0

Composer 安装命令:

composer require emran-alhaddad/statamic-logbook

包简介

Statamic add-on for system logs and user audit logs stored in a database, with CP UI, analytics, and CSV export.

README 文档

README

Statamic Logbook

A production-ready logging and audit trail addon for Statamic.

Statamic Logbook provides a centralized place to review:

  • 📘 System logs (Laravel / Monolog)
  • 📝 User audit logs (who changed what, and when)

All directly inside the Statamic Control Panel, with filtering, analytics, and CSV export.

✨ Features

System Logs

  • Stores application logs directly in the database
  • Captures request context (URL, method, IP, user)
  • Filter by date, level, and message
  • CSV export

Audit Logs

  • Tracks user actions across Statamic
  • Records what changed → from → to
  • Supports entries, taxonomies, globals, navs, and nav trees
  • Field-level ignore rules
  • Safe truncation for large values
  • CSV export

Control Panel

  • Native Statamic CP UI
  • Fast filtering & pagination
  • Modal previews for context & changes
  • No frontend frameworks or dependencies

📦 Installation

composer require emran-alhaddad/statamic-logbook

Publish the configuration file:

php artisan vendor:publish --tag=logbook-config

🗄 Database Configuration (Required)

Statamic Logbook requires a database connection defined via .env. If these variables are missing, the addon will not function.

Add the following to your .env file:

LOGBOOK_DB_CONNECTION=mysql
LOGBOOK_DB_HOST=127.0.0.1
LOGBOOK_DB_PORT=3306
LOGBOOK_DB_DATABASE=logbook_database
LOGBOOK_DB_USERNAME=logbook_user
LOGBOOK_DB_PASSWORD=secret

✅ What to do

  • Create a dedicated database (example: logbook_database)

  • Create a database user with full access to that database

  • Add the variables above to .env

  • Clear configuration cache:

    php artisan config:clear

❌ What NOT to do

  • ❌ Do not use dots (.) in database names — use underscores (_)
  • ❌ Do not reuse credentials from unrelated systems
  • ❌ Do not point Logbook to a database you do not fully control
  • ❌ Do not commit real credentials to version control

🏗 Install Database Tables

Once database variables are set, run:

php artisan logbook:install

This command creates all required tables.

⚙️ Configuration

All configuration options live in:

config/logbook.php

Environment variables are used only for sensitive or environment-specific values.

🧠 Audit Configuration

Ignore noisy or irrelevant fields

LOGBOOK_AUDIT_IGNORE_FIELDS=updated_at,created_at,slug,uri

Limit stored value size

LOGBOOK_AUDIT_MAX_VALUE_LENGTH=2000

Large values are automatically truncated to protect performance and storage.

🗑 Log Retention

Automatically prune old logs after a given number of days:

LOGBOOK_RETENTION_DAYS=365

Run manually:

php artisan logbook:prune

You may also schedule this command via cron.

🔐 Permissions

Logbook registers the following permissions:

  • view logbook — View system & audit logs
  • export logbook — Download CSV exports

Assign permissions via the Statamic Control Panel.

❌ What NOT to Do

  • ❌ Do not log secrets, tokens, or passwords
  • ❌ Do not modify Logbook database tables manually
  • ❌ Do not disable retention without a cleanup strategy
  • ❌ Do not treat audit logs as editable content

Logbook is designed to be read-only from the Control Panel.

🧪 Compatibility

Component Supported
Statamic v4, v5, v6
Laravel 10, 11
PHP 8.1+

📄 License

MIT License See LICENSE for details.

👤 Author

Built and maintained by Emran Alhaddad GitHub: https://github.com/emran-alhaddad

🧾 Changelog

See CHANGELOG.md for release history.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-13