function rules_log
Log a message to the rules logger.
Parameters
$msg: The message to log.
array $args: An array of placeholder arguments as used by t().
$priority: A priority as defined by the RulesLog class.
RulesPlugin $element: (optional) The RulesElement causing the log entry.
bool $scope: (optional) This may be used to denote the beginning (TRUE) or the end (FALSE) of a new execution scope.
26 calls to rules_log()
- Rule::evaluate in includes/
rules.plugins.inc - Evaluate, whereas by default new vars are visible in the parent's scope.
- Rule::fire in includes/
rules.plugins.inc - Fires the rule, i.e. evaluates the rule without checking its conditions.
- RulesAbstractPlugin::evaluate in includes/
rules.core.inc - Evaluate the element on a given rules evaluation state.
- RulesAbstractPlugin::executeByArgs in includes/
rules.core.inc - Execute the configuration by passing arguments in a single array.
- RulesAction::executeCallback in includes/
rules.plugins.inc - Execute the callback and update/save data as specified by the action.
2 string references to 'rules_log'
- rules_debug_log_pre_render in ./
rules.module - Pre-render callback for the debug log, which renders and then clears it.
- rules_page_build in ./
rules.module - Implements hook_page_build() to add the rules debug log to the page bottom.
File
-
./
rules.module, line 225
Code
function rules_log($msg, $args = array(), $priority = RulesLog::INFO, RulesPlugin $element = NULL, $scope = NULL) {
static $logger, $settings;
// Statically cache the variable settings as this is called very often.
if (!isset($settings)) {
$settings['rules_log_errors'] = variable_get('rules_log_errors', RulesLog::WARN);
$settings['rules_debug_log'] = variable_get('rules_debug_log', FALSE);
$settings['rules_debug'] = variable_get('rules_debug', 0);
}
if ($priority >= $settings['rules_log_errors']) {
$link = NULL;
if (isset($element) && isset($element->root()->name)) {
$link = l(t('edit configuration'), RulesPluginUI::path($element->root()->name, 'edit', $element));
}
// Disabled rules invocation to avoid an endless loop when using
// watchdog - which would trigger a rules event.
rules_event_invocation_enabled(FALSE);
watchdog('rules', $msg, $args, $priority == RulesLog::WARN ? WATCHDOG_WARNING : WATCHDOG_ERROR, $link);
rules_event_invocation_enabled(TRUE);
}
// Do nothing in case debugging is totally disabled.
if (!$settings['rules_debug_log'] && !$settings['rules_debug']) {
return;
}
if (!isset($logger)) {
$logger = RulesLog::logger();
}
$path = isset($element) && isset($element->root()->name) ? RulesPluginUI::path($element->root()->name, 'edit', $element) : NULL;
$logger->log($msg, $args, $priority, $scope, $path);
}