- What is filagora/filagora-logs used for in a Laravel application?
- Filagora Logs is a Laravel package for recording and browsing application activity logs. It captures events and model changes, stores them in a searchable timeline, and supports configurable audit trails for admins and developers. It also includes an email log contributor for privacy and retention workflows.
- How do I install filagora/filagora-logs with Composer?
- Install the package with Composer using filagora/filagora-logs, then follow the repository README for any service provider or configuration steps. Publish or update configuration as needed and add settings such as mail_log_retention_days to your environment or config management. If you use filagora-compliance, register EmailLogContributor with the host registry.
- Which Laravel and PHP versions does filagora-logs support?
- The provided notes do not list exact Laravel or PHP version constraints, so verify them in the package composer.json and release metadata. Test against your application's Laravel and PHP versions before deploying. The package is described as Laravel-native and uses Laravel configuration and scheduled-command patterns.
- How does mail_log_retention_days control email log retention?
- The mail_log_retention_days setting controls the retention window for email log rows. It defaults to 60 days, and a value of zero keeps rows forever. Retention behavior depends on the host actually invoking the registered retention rule, because without that wiring nothing runs the rule. Document and test this setting because it changes your data lifecycle.
- Do I need filagora-compliance to use Filagora Logs?
- No, Filagora Logs remains usable without filagora-compliance. The package still boots and mail logging remains unaffected when compliance is absent. Privacy automation for export, erase, and prune only becomes active when a host runs the registered contributions and retention rule.
- How does EmailLogContributor integrate with export, erase, and prune workflows?
- EmailLogContributor registers with core registries so export, erase, and prune workflows can operate on email log rows. This keeps the logging package from depending directly on filagora-compliance and lets the compliance host own orchestration and policy. You must register the contributor with the host and ensure the host invokes the retention rule.
- Does EmailLog::forRecipient() match to, cc, and bcc addresses?
- The notes say the contributor matches rows by recipient address as EmailLog::forRecipient() does, but they do not specify whether to, cc, and bcc are included. Case normalization and exact matching semantics are also not confirmed. Verify the implementation and tests before relying on recipient matching for privacy workflows.
- What order should export, erase, and account anonymisation run in?
- Read the recipient address and run export before account anonymisation, then perform erase. If export or erase runs after anonymisation, the link to the person may be lost. Document and test this required ordering as part of your privacy workflow.
- Is email log retention scoped per tenant and does deletion run in batches?
- The provided notes do not confirm per-tenant retention scoping, batched deletion, or created_at indexing. These are important technical questions to verify because large-table deletion performance and multi-tenant boundaries affect production safety. Also confirm how legal holds and backups are handled before enabling pruning.
- How should I test Filagora Logs before enabling retention in production?
- Test with config caching enabled, queued jobs, and the production scheduler. Seed recipient data and validate export and erase, including anonymised-account scenarios and registry absence versus presence. If a dry-run or batch verification mode is available, use it before scheduling pruning. Start with a conservative retention schedule and monitor deletion volume.