View source  
  <?php
use Drupal\Core\Form\FormStateInterface;
use Gelf\Message;
use Gelf\Publisher;
use Gelf\Transport\UdpTransport;
function gelf_form_system_logging_settings_alter(&$form, FormStateInterface $form_state) {
  $settings = \Drupal::config('gelf.settings');
  $host = $settings
    ->get('gelf_host');
  $port = $settings
    ->get('gelf_port');
  $form['gelf_host'] = array(
    '#type' => 'textfield',
    '#title' => t('Graylog2 host'),
    '#default_value' => $host,
  );
  $form['gelf_port'] = array(
    '#type' => 'textfield',
    '#title' => t('Graylog2 GELF port'),
    '#default_value' => $port,
  );
  if (!gelf_require()) {
    drupal_set_message(t('GELF module requires the GELF PHP library to be installed.  View the README for installation instructions.'), 'error');
  }
  $form['actions']['submit']['#submit'][] = 'gelf_settings_form_submit';
  return $form;
}
function gelf_settings_form_submit(array &$form, FormStateInterface $form_state) {
  
  $values = $form_state
    ->getUserInput();
  \Drupal::configFactory()
    ->getEditable('gelf.settings')
    ->set('gelf_host', $values['gelf_host'])
    ->set('gelf_port', $values['gelf_port'])
    ->save();
}
function gelf_require() {
  
  if (class_exists('\\Gelf\\Message') && class_exists('\\Gelf\\Publisher')) {
    return TRUE;
  }
  return FALSE;
}