? 521346.patch
Index: services/system_service/system_service.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/services/services/system_service/Attic/system_service.inc,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 system_service.inc
--- services/system_service/system_service.inc	7 Mar 2009 22:35:04 -0000	1.1.2.5
+++ services/system_service/system_service.inc	2 Dec 2009 02:46:29 -0000
@@ -87,3 +87,12 @@ function system_service_cache_clear_all(
   drupal_flush_all_caches();
   watchdog('cache clear service', 'caches cleared');
 }
+
+/**
+ * Log a system message.
+ *
+ * @see watchdog()
+ **/
+function system_service_watchdog_send($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) {
+  watchdog($type, $message, $variables, $link);
+}
Index: services/system_service/system_service.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/services/services/system_service/Attic/system_service.module,v
retrieving revision 1.3.2.20.2.1
diff -u -p -r1.3.2.20.2.1 system_service.module
--- services/system_service/system_service.module	15 Oct 2009 03:54:05 -0000	1.3.2.20.2.1
+++ services/system_service/system_service.module	2 Dec 2009 02:46:29 -0000
@@ -157,5 +157,45 @@ function system_service_service() {
         '#return'   => 'bool',
         '#help'     => t('Clear cache on remote site.'),
       ),
+
+    // system.watchdog
+    array(
+        '#method'   => 'system.watchdog',
+        '#callback' => 'system_service_watchdog_send',
+        '#access arguments' => array('log a system message from remote'),
+        '#file'     => array('file' => 'inc', 'module' => 'system_service'),
+        '#args'     => array(
+          array(
+            '#name'         => 'type',
+            '#type'         => 'string',
+            '#description'  => t('The category to which this message belongs.')
+          ),
+          array(
+            '#name'         => 'message',
+            '#type'         => 'string',
+            '#description'  => t('The message to store in the log. See t() for documentation on how $message and $variables interact. Keep $message translatable by not concatenating dynamic values into it!')
+          ),
+          array(
+            '#name'         => 'variables',
+            '#type'           => 'array',
+            '#optional'       => TRUE,
+            '#description'  => t('Array of variables to replace in the message on display or NULL if message is already translated or not possible to translate.')
+          ),
+          array(
+            '#name'         => 'severity',
+            '#type'           => 'string',
+            '#optional'       => TRUE,
+            '#description'  => t('The severity of the message, as per RFC 3164.')
+          ),
+          array(
+            '#name'         => 'link',
+            '#type'           => 'string',
+            '#optional'       => TRUE,
+            '#description'  => t('A link to associate with the message.')
+          ),
+        ),
+        '#return'   => 'bool',
+        '#help'     => t('Log a system message.'),
+    ),
   );
 }
