Product support

Get help in the plugin support forum.

  • Added on Oct 30, 2018
  • Current version: 2.1.0
  • Compatibility
    October CMS v3.x not tested
    October CMS v2.x use latest
    October CMS v1.x use latest
  • Created by
  • Public repository



  • This plugin creates a logbook for changes in an Eloquent model.
  • The plugin also provides a Form Widget and Report Widget to display the log changes.
  • The Form Widget can also show logs of related models, so all changes can be visible.
  • See the documentation how to use the logbook Form Widget and trait.

Icon made by popcorn-arts from www.flaticon.com



Use the LogChanges trait in your model. This trait will automatically save changes from the model in the database.

use Jacob\Logbook\Traits\LogChanges;

If you want to ignore fields that don't need the be logged, add this to your model. By default the updated_at field is ignored.

/** @var array $ignoreFields fields to ignore */
protected $ignoreFieldsLogbook = [

If you want to provide a custom log book model display name you can add this to your model:

 * Here you can override the model name that is displayed in the log files.
 * The name is going to be translated when possible.
public $logBookModelName = 'MyModelName'

If you want to delete the logs when the model is deleted you can add the following code to your model.

 * Delete log book items after model is deleted
 * If true -> log items are deleted when the model is deleted
 * If false -> a new log item will be created with status deleted.
 * @var bool
protected $deleteLogbookAfterDelete = false;

If you want to change the displayed column name, you can add the following code to your model. This can be usefull if you want to give a translation string for the column

 * If you override this function you can change the column name that is displayed in the log book
 * The returned column will be translated if it is possible
 * @param string $column
 * @return string
public static function changeLogBookDisplayColumn($column)
    return 'example.plugin::lang.' . $column;

You can also override the displayed value. You have to add the following function to your model.

 * If you override this function you can change the value that is displayed in the log book
 * This can be useful for example with a dropdown
 * @param $column
 * @param $value
 * @return string
public static function changeLogBookDisplayValue($column, $value)
    if ($column) {
        // do something

    return $value;

If you want to hide the undo button for this model specifically, you can add $logBookUndoable to your model. You can also disable the undo button in the log book form widget.

 * Hides or shows undo button for current field
 * @var bool $logBookLogUndoable
public $logBookLogUndoable = false

Form Widget

You can use the formwidget as follows: MAKE SURE to set an underscore in front of the form field name. for example _logbook, because the Form Widget doesn't has a save value.


Option Default type
limitPerPage 20 int
startPage 1 int
showLogRelations null array or string
showSoftDeletedRelations null array or string
showUndoChangesButton true bool
refreshFormAfterUndo true bool


    type: jacob_logbook_log
    limitPerPage: 10 #optional
    startPage: 1 #optional
    showLogRelations: #optional (contains the name(s) of the relations)
        - customer
        - anotherRelationName
    showSoftDeleteRelations: #optional (contains the name(s) of the relations with soft delete support)
        - relationNameWithSoftDeletes
    showUndoChangesButton: true #optional
    refreshFormAfterUndo: false #optional
  • Found the plugin useful on 22 Nov, 2019

    Very powerful plugin to monitoring any changes in your model! Thanks for it.

  • Found the plugin useful on 3 Oct, 2019

    Excellent addition to any plugin that needs to track changes to the database. Now we know who did what and when. It's like CCTV, but with less wires.

  • Found the plugin useful on 14 Nov, 2018

    Its very helpful as a log for any changes


Add support for jsonable columns

Mar 05, 2022


Fix report widget

Oct 05, 2020


Remove php 7.4 property types

Jun 02, 2020


Add support for soft deleted models, cleanup code and drop support for php 7.0

May 30, 2020


Update indexes for faster query results

Feb 14, 2020


Add undo button to form widget and add report widget.

Nov 02, 2018


Fix error when changing properties from the LogChanges trait.

Nov 01, 2018


First version of Logbook

Oct 30, 2018