Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/core-module / Providers / Log / RollbarServiceProvider.php
Size: Mime:
<?php
namespace Modules\Core\Providers\Log;

use Monolog\Handler\RollbarHandler;

class RollbarServiceProvider extends BaselogServiceProvider
{
    /**
     * Indicates the log handler service
     *
     * @var bool
     */
    protected $serviceHandler = 'rollbar';

    protected function serviceHandler($config, $level)
    {
        $rollbarConfig = [
            'access_token' => $config['key'],
            'environment' => app()->environment(),
            'root' => base_path()
        ];

        if(!auth()->guest()){
            /** @var \Modules\Users\Entities\User $user */
            $user = auth()->user();

            $rollbarConfig['person'] = [
                'id' => $user->getKey(),
                'username' => $user->name,
                'email' => $user->email
            ];
        }

        \Rollbar::init($rollbarConfig);
        $handler = new RollbarHandler(\Rollbar::$instance, $level);

        return $handler;
    }
}