jackjoe / activity-log by jeroenbourgois

A clean and simple Laravel 5 activity logger for logging website / application actions.
985
4
5
Package Data
Maintainer Username: jeroenbourgois
Maintainer Contact: pieter@jackjoe.be (Pieter Michels)
Package Create Date: 2017-03-20
Package Last Update: 2019-04-12
Language: PHP
License: MIT
Last Refreshed: 2024-11-15 03:00:25
Package Statistics
Total Downloads: 985
Monthly Downloads: 90
Daily Downloads: 0
Total Stars: 4
Total Watchers: 5
Total Forks: 3
Total Open Issues: 1

ActivityLog

Latest Version on Packagist Build Status Scrutinizer Code Quality Total Downloads

Installation

Basic installation, service provider registration, and aliasing:

Installation is done with composer, so add the package to yourcomposer.json file:

"require": {
	"jackjoe/activity-log": "0.3.*"
},

Then run composer update

Laravel 5.5+

Laravel 5.5 has auto discovery, you are done. If not see below.

<= Laravel 5.4

Register the service provider and alias in app/config/app.php. Add the following to the providers array:

JackJoe\ActivityLog\ActivityLogServiceProvider::class,

And add this to the aliases array:

'Activity' => JackJoe\ActivityLog\Models\Activity::class,

Publishing migrations and configuration:

To publish this package's configuration, run this from the command line:

php artisan vendor:publish --provider="JackJoe\ActivityLog\ActivityLogServiceProvider"

Note: Migrations are only published; remember to run them when ready.

To run migration to create ActivityLog's table, run this from the command line:

php artisan migrate

Basic Usage

Logging user activity:

Activity::log([
  'contentId'   => $user->id,
  'content' => 'User',
  'action'      => 'ACTION',
  'state'       => 'SUCCESS',
  'details'     => 'Username: ' . $user->username,
  'data'        => json_encode($data)
]);

The above code will log an activity for the currently logged in user. The IP address will automatically be saved as well.

Variable guidelines

  • content: type of content we are dealing with, can be set to match PHP class, controller, model, ... It gives us more context where this action has taken place.
  • contentId (option): id of content, in case of a model
  • action: method name, sub-action in method, ..
  • state: state of action such as ERROR, SUCCESS, WRONG_CODE, ...
  • details: more like meta date about current state
  • data: raw data, fetched content, posted content, ...

Contributing

Please see CONTRIBUTING for details.

Credits

Based on Regulus/ActivityLog.

License

The MIT License (MIT). Please see License File for more information.