ubatgroup / graylog
A package to send logs to graylog
1.0
2018-03-16 09:00 UTC
Requires
- php: >=7.0
- graylog2/gelf-php: ~1.5
- illuminate/support: ~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0
This package is not auto-updated.
Last update: 2024-04-07 02:35:29 UTC
README
It is a laravel wrapper for bzikarsky/gelf-php package.
This package was developed for an internal need. No maintenance's planned.
Installation
Install via composer
composer require ubatgroup/graylog
Only for Laravel 5 to 5.3
Add it to your providers array in config/app.php
:
Ubatgroup\Graylog\GraylogServiceProvider::class
To use the facade, add it to your aliases array in config/app.php
:
'Graylog' => Ubatgroup\Graylog\Facades\Graylog::class
For Laravel 5.4 and more
Laravel auto discover new packages
composer dump-autoload
Configuration
Set the graylog configuration into the .env file :
- GRAYLOG_SERVER : server graylog ip (if this key is not set, it uses 127.0.0.1)
- GRAYLOG_PORT : server graylog port (if this key is not set, it uses 12201)
- GRAYLOG_FACILITY : graylog facility filter (if this key is not set, it uses APP_URL key)
- GRAYLOG_APPNAME : graylog source filter (if this key is not set, it uses APP_NAME key)
To override the configuration file :
First, publish the configuration file:
php artisan vendor:publish --provider="Ubatgroup\Graylog\GraylogServiceProvider"
See the content of the published configuration file in config/graylog.php
.
// Address serveur host 'server' => env( 'GRAYLOG_SERVER', '127.0.0.1' ), // Port server host 'port' => env( 'GRAYLOG_PORT', 12201 ), // facility to filter logs (common use application URL) 'facility' => env( 'GRAYLOG_FACILITY', env( 'APP_URL', null ) ), // host to filter logs (common use application name) 'host' => env( 'GRAYLOG_HOST', env( 'APP_NAME', null ) ), // Add Auth::user data automatically as AdditionaData in every exception handle by the connected user 'auto_log_auth_user' => true,
Usage
Graylog::emergency( $message, array $context = array() ); Graylog::alert( $message, array $context = array() ); Graylog::critical( $message, array $context = array() ); Graylog::error( $message, array $context = array() ); Graylog::warning( $message, array $context = array() ); Graylog::notice( $message, array $context = array() ); Graylog::info( $message, array $context = array() ); Graylog::debug( $message, array $context = array() );
See the bzikarsky/gelf-php examples in his repo to find the available methods for the Graylog
facade.
Example
Graylog::alert('There was a foo in bar', [ 'foo' => 'bar', 'other_context_key' => 'other_context_value', ]);
try { throw new \Exception('Nice exception !'); } catch (\Exception $e) { Graylog::emergency('Exception handled !', [ 'exception' => $e, 'additionnal_data' => 'Hello world! ]); }
Note
- If auto_log_auth_user config key and Auth::check() are true, Auth::user() data are auto added to the context array (auth_user key)
- If you need to use $guard to get the authenticated user, turn false the auto_log_auth_user config key and add it manually in additionnal data array
- Don't use special/accentuated chars in context key for additionals data
License
This package is released under the MIT Licence.