public function RavenConfigForm::buildForm in Raven: Sentry Integration 8
Same name and namespace in other branches
- 8.2 src/Form/RavenConfigForm.php \Drupal\raven\Form\RavenConfigForm::buildForm()
- 3.x src/Form/RavenConfigForm.php \Drupal\raven\Form\RavenConfigForm::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ RavenConfigForm.php, line 35 - Contains \Drupal\raven\Form\RavenConfigForm.
Class
- RavenConfigForm
- Implements a Raven Config form.
Namespace
Drupal\raven\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$form['client_key'] = [
'#type' => 'textfield',
'#title' => $this
->t('Sentry DSN'),
'#default_value' => $this
->config('raven.settings')
->get('client_key'),
'#description' => $this
->t('Sentry client key for current site.'),
];
$form['public_dsn'] = [
'#type' => 'textfield',
'#title' => $this
->t('Sentry public DSN'),
'#default_value' => $this
->config('raven.settings')
->get('public_dsn'),
'#description' => $this
->t('Sentry public client key for current site.'),
];
$form['timeout'] = [
'#type' => 'textfield',
'#title' => $this
->t('Timeout'),
'#default_value' => $this
->config('raven.settings')
->get('timeout'),
'#description' => $this
->t('Connection timeout in seconds.'),
];
// "0" is not a valid checkbox option.
$levels = RfcLogLevel::getLevels();
foreach ($levels as $key => $value) {
$log_levels[$key + 1] = $value;
}
$form['log_levels'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Log levels'),
'#default_value' => $this
->config('raven.settings')
->get('log_levels'),
'#description' => $this
->t('Check the log levels that should be captured by Sentry.'),
'#options' => $log_levels,
];
$form['fatal_error_handler'] = [
'#type' => 'checkbox',
'#title' => t('Enable fatal error handler'),
'#description' => t('Check to capture fatal PHP errors.'),
'#default_value' => $this
->config('raven.settings')
->get('fatal_error_handler'),
];
$form['fatal_error_handler_memory'] = [
'#type' => 'textfield',
'#title' => $this
->t('Reserved memory'),
'#description' => $this
->t('Reserved memory for fatal error handler (KB).'),
'#default_value' => $this
->config('raven.settings')
->get('fatal_error_handler_memory'),
'#size' => 10,
];
$form['javascript_error_handler'] = [
'#type' => 'checkbox',
'#title' => t('Enable JavaScript error handler'),
'#description' => t('Check to capture JavaScript errors (if user has the <a target="_blank" href=":url">send JavaScript errors to Sentry</a> permission).', [
':url' => \Drupal::url('user.admin_permissions', [], [
'fragment' => 'module-raven',
]),
]),
'#default_value' => $this
->config('raven.settings')
->get('javascript_error_handler'),
];
$form['stack'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Enable stacktraces'),
'#default_value' => $this
->config('raven.settings')
->get('stack'),
'#description' => $this
->t('Check to add stacktraces to reports.'),
];
$form['trace'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Reflection tracing in stacktraces'),
'#default_value' => $this
->config('raven.settings')
->get('trace'),
'#description' => $this
->t('Check to enable reflection tracing (function calling arguments) in stacktraces. Warning: This setting allows sensitive data to be logged by Sentry!'),
];
return parent::buildForm($form, $form_state);
}