Download the PHP package glesys/butler-audit without Composer

On this page you can find all versions of the php package glesys/butler-audit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package butler-audit

:construction: Not ready for production.

Butler Audit

Laravel package for sending audit events to a remote endpoint.

Example

Getting Started

Configure

Make sure you have a queue configured to speed up your application.

Log driver

When developing you can use the log driver to prevent http requests being sent.

Initiator resolver

A default "initiator resolver" is registered in the ServiceProvider.

Your application can have its own resolver to avoid setting initiator manually for every audit call. You can still use initiator() and initiatorContext() to override the values set by the resolver.

You can disable the default resolver by setting butler.audit.default_initiator_resolver to false.

Auditable

You can pass "Auditables" to the helper method.

Trait for Eloquent models

For convenience there is a IsAuditable trait that can be used by eloquent models.

X-Correlation-ID

We use "X-Correlation-ID" header to "relate" audits.

A "X-Correlation-Trail" header is also used to figure out the order of events without relying on the events occured_at, see the example json below.

Http client macro

Use the "withCorrelation" macro to add the "X-Correlation-ID" header when sending requests with the Http client.

In the example below, all "audits" will have the same correlation-id.

The requests sent to your configured BUTLER_AUDIT_URL will look something like:

Queued jobs

The trait WithCorrelation can be used on queable jobs that needs the same correlation id as the request.

How it works

  1. A job using the WithCorrelation trait is dispatched to the queue.
  2. Our Dispatcher will set a correlationId property on the job.
  3. The job is handled by a worker.
  4. The middleware SetCorrelation will tell Auditor to use the correlation id from the job.

Extending the dispatcher can be disabled by setting butler.audit.extend_bus_dispatcher to false.

Auditor Fake

Instead of faking the queue in your tests and e.g. Queue::assertPushed(function (AuditJob) {}) you can fake requests, see example below.

Testing

How To Contribute

Development happens at GitHub; any typical workflow using Pull Requests are welcome. In the same spirit, we use the GitHub issue tracker for all reports (regardless of the nature of the report, feature request, bugs, etc.).

All changes are supposed to be covered by unit tests, if testing is impossible or very unpractical that warrants a discussion in the comments section of the pull request.

Code standard

As the library is intended for use in Laravel applications we encourage code standard to follow upstream Laravel practices - in short that would mean PSR-2 and PSR-4.


All versions of butler-audit with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
guzzlehttp/guzzle Version ^7.8.1
illuminate/bus Version ^11.0
illuminate/contracts Version ^11.0
illuminate/database Version ^11.0
illuminate/http Version ^11.0
illuminate/log Version ^11.0
illuminate/queue Version ^11.0
illuminate/support Version ^11.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package glesys/butler-audit contains the following files

Loading the files please wait ....