Configuration
There are several ways to configure Honeybadger. See Default Configuration for all the options that are available.
Creating a New Client
In any PHP app, you can configure a new Honeybadger client directly via its constructor function:
php
$honeybadger = Honeybadger\Honeybadger::new([
'api_key' => 'Your project API key'
]);
Using Honeybadger this way is good for creating custom integrations or adding Honeybadger to frameworks which don't have an official integration yet.
Laravel/Lumen
In Laravel and Lumen
apps, you should add your configuration to config/honeybadger.php
instead.
Default Configuration
The default configuration options are shown below:
php
[
// Honeybadger API Key
'api_key' => null,
// Personal authentication token (needed to synchronize checkins from this configuration file)
'personal_auth_token' => null,
// The application environment
'environment_name' => 'production',
// To disable exception reporting, set this to false (or an expression that returns false).
'report_data' => ! in_array(env('APP_ENV'), ['local', 'testing']),
'environment' => [
// Environment keys to filter before the payload sent to Honeybadger (see Environment Whitelist)
'filter' => [],
// Additional environment keys to include (see Environment Whitelist)
'include' => [],
],
'request' => [
// Request keys to filter before the payload sent to Honeybadger
'filter' => [
'password',
'password_confirmation'
],
],
// Application version
'version' => '',
// System hostname
'hostname' => gethostname(),
// Project root (/var/www)
'project_root' => '',
'handlers' => [
// Enable global exception handler
'exception' => true,
// Enable global error handler
'error' => true,
],
// Configure the underlying Guzzle client used
'client' => [
// Request timeout in seconds (default: 15s)
'timeout' => 15,
// Request proxy settings
'proxy' => [
// Use this proxy with 'http' (tcp://username:password@localhost:8125)
'http' => '',
// Use this proxy with 'https' (tcp://username:password@localhost:8125)
'https' => '',
],
],
// Specify a custom endpoint
'endpoint' => 'https://api.honeybadger.io',
// Exclude exceptions from being reported
'excluded_exceptions' => [],
// Enable reporting deprecation warnings.
'capture_deprecations' => false,
// Specify how failures to reach Honeybadger should be handled
'service_exception_handler' => function (\Honeybadger\Exceptions\ServiceException $e) {
throw $e;
},
// Define your checkins here and synchronize them to Honeybadger
'checkins' => [],
]
Environment Whitelist
All keys beginning with HTTP_
are reported by default, as well as the
following whitelisted keys:
'PHP_SELF'
'argv'
'argc'
'GATEWAY_INTERFACE'
'SERVER_ADDR'
'SERVER_NAME'
'SERVER_SOFTWARE'
'SERVER_PROTOCOL'
'REQUEST_METHOD'
'REQUEST_TIME'
'REQUEST_TIME_FLOAT'
'QUERY_STRING'
'DOCUMENT_ROOT'
'HTTPS'
'REMOTE_ADDR'
'REMOTE_HOST'
'REMOTE_PORT'
'REMOTE_USER'
'REDIRECT_REMOTE_USER'
'SCRIPT_FILENAME'
'SERVER_ADMIN'
'SERVER_PORT'
'SERVER_SIGNATURE'
'PATH_TRANSLATED'
'SCRIPT_NAME'
'REQUEST_URI'
'PHP_AUTH_DIGEST'
'PHP_AUTH_USER'
'PHP_AUTH_PW'
'AUTH_TYPE'
'PATH_INFO'
'ORIG_PATH_INFO'
'APP_ENV'
Exceptions
If there is an error contacting Honeybadger a
\Honeybadger\Exceptions\ServiceException::class
will be thrown with a relevant
exception message.