Package Data | |
---|---|
Maintainer Username: | supersixtwo |
Maintainer Contact: | troy@supersixtwo.com (Troy Peterson) |
Package Create Date: | 2015-09-20 |
Package Last Update: | 2024-09-10 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-19 03:16:06 |
Package Statistics | |
---|---|
Total Downloads: | 42 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 3 |
Total Watchers: | 2 |
Total Forks: | 1 |
Total Open Issues: | 0 |
DBlog is a lightweight and simple Laravel Package that allows you write custom logs and error messages to a database table.
Written to mirror the Laravel Logging conventions, DBlog
provides 8 logging levels defined in RFC 5424 and the ability to add an optional context array to each log.
NOTE: This package DOES NOT integrate with the Laravel / Monolog logging system and does not capture system level events. It's purpose is to be used to capture your own custom log needs.
Via Composer:
$ composer require supersixtwo/dblog
Then add the service provider in config/app.php
:
Supersixtwo\Dblog\DBlogServiceProvider::class,
And the alias in config/app.php
:
'DBlog' => Supersixtwo\Dblog\DBlogClass::class,
Re-run the autoload:
$ composer dump-autoload
Publish the migrations:
$ php artisan vendor:publish
Run the migrations to install the tables in the database:
$ php artisan migrate
We've provided DBlog
with a familiar interface, mirroring Laravel's own built-in logging methods. These follow the same RFC 5424 defined logging levels including: emergency, alert, critical, error, warning, notice, info, and debug.
Include the DBlog
at the top of your class or model:
use DBlog;
Use one of the 8 helper methods in your logic:
DBlog::emergency($msg);
DBlog::alert($msg);
DBlog::critical($msg);
DBlog::error($msg);
DBlog::warning($msg);
DBlog::notice($msg);
DBlog::info($msg);
DBlog::debug($msg);
In addition to logging text based messages, you can also an array of contextual information to the logging methods. This contextual data will converted to a json
array and stored in separate column.
DBlog::info('New User Creation', ['id' => 45, 'created_by' => 'jdoe']);
To avoid collisions and naming conflicts with the DBlog Facade or other tables, the database table can be accessed using the following:
DBlogModel
dblogs
dblogs
Table Columns| Column | Type | Default Value | Nullable | Comments | |-------------------|------------------|-------------------|----------|------------------------------------| | id | int(10) unsigned | | NO | | | level_id | int(11) | | NO | The RFC 5424 log level id | | level_description | varchar(255) | | NO | The RFC 5424 log level description | | message | text | | NO | | | context | text | | YES | | | created_at | timestamp | CURRENT_TIMESTAMP | NO | |
First, include the DBlogModel
with the namespace:
use Supersixtwo\Dblog\DBlogModel;
Then via Query Builder:
$logs = DB::table('dblogs')->get();
or via Eloquent:
$logs = DBlogModel::all();
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email appsupport@supersixtwo.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.
This package is heavily inspired by the Monolog Logging Library.