diff --git a/modules/system.rules.inc b/modules/system.rules.inc
index 2df01a3..cf37920 100644
--- a/modules/system.rules.inc
+++ b/modules/system.rules.inc
@@ -257,6 +257,27 @@ function rules_system_action_info() {
       'base' => 'rules_action_block_ip',
       'access callback' => 'rules_system_integration_access',
     ),
+    'watchdog_log' => array(
+      'label' => t('Send message to watchdog log'),
+      'group' => t('System'),
+      'parameter' => array(
+        'message' => array(
+          'type' => 'text',
+          'label' => t('Watchdog Message'),
+          'restriction' => 'input',
+          'default mode' => 'input',
+          'description' => t('The message to add to the watchdog log.')
+        ),
+        'severity' => array(
+          'type' => 'token',
+          'label' => t('Severity'),
+          'options list' => 'rules_action_watchdog_severity',
+          'default value' => WATCHDOG_NOTICE,
+          'optional' => TRUE,
+        ),
+      ),
+      'base' => 'rules_action_watchdog_log',
+    ),
   );
 }
 
@@ -286,6 +307,22 @@ function rules_action_drupal_message_types() {
 }
 
 /**
+ * Options list callback defining watchdog message types.
+ */
+function rules_action_watchdog_severity() {
+  return array(
+    WATCHDOG_EMERGENCY => t('Emergency'),
+    WATCHDOG_ALERT => t('Alert'),
+    WATCHDOG_CRITICAL => t('Critical'),
+    WATCHDOG_ERROR => t('Error'),
+    WATCHDOG_WARNING => t('Warning'),
+    WATCHDOG_NOTICE => t('Normal'),
+    WATCHDOG_INFO => t('Informational'),
+    WATCHDOG_DEBUG => t('Debug'),
+  );
+}
+
+/**
  * Implements hook_rules_evaluator_info() on behalf of the system module.
  */
 function rules_system_evaluator_info() {
