diff -u b/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php b/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php --- b/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php +++ b/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php @@ -36,7 +36,7 @@ 'requirements_warning' => 172800, 'requirements_error' => 1209600, ), - 'logging' => 0, + 'logging' => 1, ); // The expected active configuration altered by the install profile. $expected_profile_data = array( @@ -44,7 +44,7 @@ 'requirements_warning' => 259200, 'requirements_error' => 1209600, ), - 'logging' => 0, + 'logging' => 1, ); $expected_profile_data['_core']['default_config_hash'] = Crypt::hashBase64(serialize($expected_profile_data)); diff -u b/core/modules/config/tests/config_override_test/config/install/system.cron.yml b/core/modules/config/tests/config_override_test/config/install/system.cron.yml --- b/core/modules/config/tests/config_override_test/config/install/system.cron.yml +++ b/core/modules/config/tests/config_override_test/config/install/system.cron.yml @@ -4 +4 @@ -logging: 0 +logging: 1 reverted: --- b/core/modules/dblog/src/Tests/DbLogTest.php +++ a/core/modules/dblog/src/Tests/DbLogTest.php @@ -158,9 +158,12 @@ // Get last ID after cron was run. $current_id = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField(); + // Get the number of enabled modules. Cron adds a log entry for each module. + $list = \Drupal::moduleHandler()->getImplementations('cron'); + $module_count = count($list); + $count = $current_id - $last_id; + $this->assertTrue(($current_id - $last_id) == $module_count + 2, format_string('Cron added @count of @expected new log entries', array('@count' => $count, '@expected' => $module_count + 2))); - $expected_count = 1; - $this->assertTrue(($current_id - $last_id) == $expected_count, format_string('Cron added @count of @expected new log entries', array('@count' => $count, '@expected' => $expected_count))); } /** diff -u b/core/modules/system/config/install/system.cron.yml b/core/modules/system/config/install/system.cron.yml --- b/core/modules/system/config/install/system.cron.yml +++ b/core/modules/system/config/install/system.cron.yml @@ -4 +4 @@ -logging: 0 +logging: 1 diff -u b/core/modules/system/src/Form/CronForm.php b/core/modules/system/src/Form/CronForm.php --- b/core/modules/system/src/Form/CronForm.php +++ b/core/modules/system/src/Form/CronForm.php @@ -10,11 +10,13 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\State\StateInterface; use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\Core\Form\ConfigFormBaseTrait; /** * Configure cron settings for this site. */ class CronForm extends FormBase { + use ConfigFormBaseTrait; /** * Stores the state storage service. @@ -68,6 +70,13 @@ /** * {@inheritdoc} */ + protected function getEditableConfigNames() { + return ['system.cron']; + } + + /** + * {@inheritdoc} + */ public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), @@ -121,7 +130,7 @@ $form['cron']['logging'] = array( '#type' => 'checkbox', '#title' => t('Detailed cron logging'), - '#default_value' => \Drupal::config('system.cron')->get('logging'), + '#default_value' => $this->config('system.cron')->get('logging'), '#description' => 'Run times of individual cron jobs will be written to watchdog', ); @@ -139,7 +148,7 @@ * Runs cron and reloads the page. */ public function submitForm(array &$form, FormStateInterface $form_state) { - \Drupal::configFactory()->getEditable('system.cron') + $this->config('system.cron') ->set('logging', $form_state->getValue('logging')) ->save(); drupal_set_message(t('The configuration options have been saved.')); diff -u b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php --- b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php +++ b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php @@ -24,7 +24,7 @@ 'requirements_warning' => 172800, 'requirements_error' => 1209600, ], - 'logging' => 0, + 'logging' => 1, ], 'system.date' => [ 'country' => [ diff -u b/core/profiles/standard/config/install/system.cron.yml b/core/profiles/standard/config/install/system.cron.yml --- b/core/profiles/standard/config/install/system.cron.yml +++ b/core/profiles/standard/config/install/system.cron.yml @@ -4 +4 @@ -logging: 0 +logging: 1 diff -u b/core/profiles/testing_config_overrides/config/install/system.cron.yml b/core/profiles/testing_config_overrides/config/install/system.cron.yml --- b/core/profiles/testing_config_overrides/config/install/system.cron.yml +++ b/core/profiles/testing_config_overrides/config/install/system.cron.yml @@ -4 +4 @@ -logging: 0 +logging: 1 only in patch2: unchanged: --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -1730,3 +1730,13 @@ function system_update_8201() { /** * @} End of "addtogroup updates-8.2.0". */ + +/** + * Add detailed cron logging configuration. + */ +function system_update_8202() { + $config_factory = \Drupal::configFactory(); + $system_cron_config = $config_factory->getEditable('system.cron') + ->set('logging', 1) + ->save(TRUE); +}