我当时正在与合作伙伴XML服务建立交换,但我无法正确处理XML,但是与所有Drupal一样,xmlrpc错误和操作日志都不可靠。
所以我在include / xmlrpc.inc中做到了这一点。
function xmlrpc_request($method, $args) {
$xmlrpc_request = new stdClass();
$xmlrpc_request->method = $method;
$xmlrpc_request->args = $args;
$xmlrpc_request->xml = <<<EOD
<?xml version="1.0"?>
<methodCall>
<methodName>{$xmlrpc_request->method}</methodName>
<params>
EOD;
foreach ($xmlrpc_request->args as $arg) {
$xmlrpc_request->xml .= '<param><value>';
$v = xmlrpc_value($arg);
$xmlrpc_request->xml .= xmlrpc_value_get_xml($v);
$xmlrpc_request->xml .= "</value></param>\n";
}
$xmlrpc_request->xml .= '</params></methodCall>';
/* This part here */
watchdog('xmlrpc',$xmlrpc_request->xml);
/* End ridiculously tiny hack */
return $xmlrpc_request;
}
我得到了我需要的数据,并在10分钟内使合作伙伴界面正确响应了我的请求,因为(令人震惊的)日志很好。
我喜欢额外的日志记录,并且希望保留它。什么是干净,直接,最重要的是Drupal批准的方式?
variable_set()
要做的就是使用或类似的机制(如果需要可以导出)来设置模块的日志记录级别。:]