class WatchdogAggregatorSensorPlugin in Monitoring 8
Watchdog aggregator which handles replacement of variables in the message.
Plugin annotation
@SensorPlugin(
id = "watchdog_aggregator",
label = @Translation("Watchdog Aggregator"),
description = @Translation("Aggregator able to query the watchdog table."),
provider = "dblog",
addable = TRUE
)
Hierarchy
- class \Drupal\monitoring\SensorPlugin\SensorPluginBase implements SensorPluginInterface uses MessengerTrait, StringTranslationTrait
- class \Drupal\monitoring\SensorPlugin\DatabaseAggregatorSensorPluginBase
- class \Drupal\monitoring\Plugin\monitoring\SensorPlugin\DatabaseAggregatorSensorPlugin implements ExtendedInfoSensorPluginInterface uses DependencyTrait
- class \Drupal\monitoring\Plugin\monitoring\SensorPlugin\WatchdogAggregatorSensorPlugin implements ExtendedInfoSensorPluginInterface
- class \Drupal\monitoring\Plugin\monitoring\SensorPlugin\DatabaseAggregatorSensorPlugin implements ExtendedInfoSensorPluginInterface uses DependencyTrait
- class \Drupal\monitoring\SensorPlugin\DatabaseAggregatorSensorPluginBase
Expanded class hierarchy of WatchdogAggregatorSensorPlugin
File
- src/
Plugin/ monitoring/ SensorPlugin/ WatchdogAggregatorSensorPlugin.php, line 25 - Contains \Drupal\monitoring\Plugin\monitoring\SensorPlugin\WatchdogAggregatorSensorPlugin.
Namespace
Drupal\monitoring\Plugin\monitoring\SensorPluginView source
class WatchdogAggregatorSensorPlugin extends DatabaseAggregatorSensorPlugin implements ExtendedInfoSensorPluginInterface {
/**
* {@inheritdoc}
*/
protected $configurableTable = FALSE;
/**
* {@inheritdoc}
*/
protected $configurableTimestampField = FALSE;
/**
* {@inheritdoc}
*/
public function verboseResultUnaggregated(array &$output) {
parent::verboseResultUnaggregated($output);
// If sensor has message and variables, remove variables header.
if (isset($output['verbose_sensor_result']['#rows']) && array_key_exists('message', $output['verbose_sensor_result']['#header']) && array_key_exists('variables', $output['verbose_sensor_result']['#header'])) {
unset($output['verbose_sensor_result']['#header']['variables']);
// Replace the message for every row.
foreach ($output['verbose_sensor_result']['#rows'] as $delta => $row) {
// Link the watchdog id to the dblog.
$output['verbose_sensor_result']['#rows'][$delta]['wid'] = Link::fromTextAndUrl($row['wid'], Url::fromUserInput('/admin/reports/dblog/event/' . $row['wid']))
->toString();
// Replace variables in message.
$output['verbose_sensor_result']['#rows'][$delta]['message'] = new FormattableMarkup($row['message'], unserialize($row['variables']));
// Do not render the raw message & variables in the row.
unset($output['verbose_sensor_result']['#rows'][$delta]['variables']);
}
}
}
/**
* {@inheritdoc}
*/
public function verboseResultHistory(array &$output) {
parent::verboseResultHistory($output);
// Add cutoff info message.
if (isset($output['verbose_sensor_history']['#description'])) {
$output['verbose_sensor_history']['#description'] = t('Records in dblog limited to :limit records. :parent_info', [
':limit' => \Drupal::configFactory()
->get('dblog.settings')
->get('row_limit'),
':parent_info' => $output['verbose_sensor_history']['#description'],
]);
}
}
/**
* {@inheritdoc}
*/
public function getDefaultConfiguration() {
$default_config = array(
'settings' => array(
'table' => 'watchdog',
'time_interval_field' => 'timestamp',
),
);
return $default_config;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DatabaseAggregatorSensorPlugin:: |
protected | property | Allows plugins to control if the conditions table should be shown. | 5 |
DatabaseAggregatorSensorPlugin:: |
protected | property | Allows plugins to control if the verbose output table should be shown. | 5 |
DatabaseAggregatorSensorPlugin:: |
protected | property | The arguments of the executed query. | |
DatabaseAggregatorSensorPlugin:: |
protected | property | The fetched object from the query result. | |
DatabaseAggregatorSensorPlugin:: |
protected | property | The arguments of the executed query. | |
DatabaseAggregatorSensorPlugin:: |
protected | property | The query string of the executed query. | |
DatabaseAggregatorSensorPlugin:: |
protected | function | Adds the aggregate expression to the select query. | 2 |
DatabaseAggregatorSensorPlugin:: |
public | function | Add row to table when pressing 'Add another condition' and rebuild. | |
DatabaseAggregatorSensorPlugin:: |
public | function | Adds another field to the keys table when pressing 'Add another key'. | |
DatabaseAggregatorSensorPlugin:: |
public | function |
Adds UI for variables table, conditions and keys. Overrides DatabaseAggregatorSensorPluginBase:: |
1 |
DatabaseAggregatorSensorPlugin:: |
protected | function | Builds the header for a table based on rows. | 3 |
DatabaseAggregatorSensorPlugin:: |
protected | function | Builds the rows of a table. | 1 |
DatabaseAggregatorSensorPlugin:: |
public | function |
Calculates dependencies for the configured plugin. Overrides SensorPluginBase:: |
|
DatabaseAggregatorSensorPlugin:: |
public | function | Returns the updated 'conditions' fieldset for replacement by ajax. | |
DatabaseAggregatorSensorPlugin:: |
public | function | Returns the updated 'output_table' fieldset for replacement by ajax. | |
DatabaseAggregatorSensorPlugin:: |
protected | function | Builds simple aggregate query over one db table. | 7 |
DatabaseAggregatorSensorPlugin:: |
protected | function | Provides list of operators for conditions. | |
DatabaseAggregatorSensorPlugin:: |
protected | function | Builds history query over one db table. | |
DatabaseAggregatorSensorPlugin:: |
protected | function | Get the timestamp of the oldest entry that fits owr conditions. | |
DatabaseAggregatorSensorPlugin:: |
protected | function | Builds the query for verbose output. | 4 |
DatabaseAggregatorSensorPlugin:: |
public | function |
Provide additional info about sensor call. Overrides ExtendedInfoSensorPluginInterface:: |
3 |
DatabaseAggregatorSensorPlugin:: |
public | function |
Runs the sensor, updating $sensor_result. Overrides SensorPluginInterface:: |
6 |
DatabaseAggregatorSensorPlugin:: |
public | function |
Form submission handler. Overrides DatabaseAggregatorSensorPluginBase:: |
|
DatabaseAggregatorSensorPlugin:: |
protected | function | Translates the string operators to SQL equivalents. | |
DatabaseAggregatorSensorPlugin:: |
public | function |
Form validation handler. Overrides SensorPluginBase:: |
|
DatabaseAggregatorSensorPluginBase:: |
protected | property |
Allows plugins to control if the value type can be configured. Overrides SensorPluginBase:: |
|
DatabaseAggregatorSensorPluginBase:: |
protected | function | Gets conditions to be used in the select query. | |
DatabaseAggregatorSensorPluginBase:: |
protected | function | Gets the time field. | |
DatabaseAggregatorSensorPluginBase:: |
protected | function | Returns time interval options. | |
DatabaseAggregatorSensorPluginBase:: |
protected | function | Gets the time interval value. | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
SensorPluginBase:: |
protected | property | The plugin implementation definition. | |
SensorPluginBase:: |
protected | property | The plugin_id. | |
SensorPluginBase:: |
protected | property | Current sensor config object. | |
SensorPluginBase:: |
protected | property | ||
SensorPluginBase:: |
public | function |
Service setter. Overrides SensorPluginInterface:: |
|
SensorPluginBase:: |
public static | function |
Creates an instance of the sensor with config. Overrides SensorPluginInterface:: |
7 |
SensorPluginBase:: |
public | function |
Configurable value type. Overrides SensorPluginInterface:: |
|
SensorPluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
|
SensorPluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
SensorPluginBase:: |
public | function |
Gets sensor name (not the label). Overrides SensorPluginInterface:: |
|
SensorPluginBase:: |
public | function |
@todo: Replace with injection Overrides SensorPluginInterface:: |
|
SensorPluginBase:: |
public | function |
Determines if sensor is enabled. Overrides SensorPluginInterface:: |
|
SensorPluginBase:: |
function | Instantiates a sensor object. | 8 | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
WatchdogAggregatorSensorPlugin:: |
protected | property |
Allows plugins to control if the table can be configured. Overrides DatabaseAggregatorSensorPlugin:: |
|
WatchdogAggregatorSensorPlugin:: |
protected | property |
Allows plugins to control if a timestamp field can be configured. Overrides DatabaseAggregatorSensorPluginBase:: |
|
WatchdogAggregatorSensorPlugin:: |
public | function |
Default configuration for a sensor. Overrides DatabaseAggregatorSensorPlugin:: |
|
WatchdogAggregatorSensorPlugin:: |
public | function |
Adds history verbose output to the render array $output. Overrides DatabaseAggregatorSensorPlugin:: |
|
WatchdogAggregatorSensorPlugin:: |
public | function |
Adds unaggregated verbose output to the render array $output. Overrides DatabaseAggregatorSensorPlugin:: |
2 |