我怎样才能在Swift中使用`syslog`

时间:2015-10-18 05:53:23

标签: macos swift syslog

在Swift 2中看起来 // To connect with a subdomain - the entry will be in config/database.php. public static function connectSubdomainDatabase($dbname) { $res = DB::select("show databases like '{$dbname}'"); if (count($res) == 0) { App::abort(404); } Config::set('database.connections.subdomain.database', $dbname); //If you want to use query builder without having to specify the connection Config::set('database.default', 'subdomain'); DB::reconnect('subdomain'); } 功能不可用。

如何在OS X上向<?php $url='<script type="text/javascript"> function gformRedirect(){document.location.href="https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com";}</script>'; preg_match("/http[^\"]*/", $url, $output_array); echo $output_array[0]; ?> 发送消息?

1 个答案:

答案 0 :(得分:2)

问题在于

void vsyslog(int priority, const char *message, va_list args);

采用变量参数列表,不会导入Swift。您可以 使用

func syslog(priority : Int32, _ message : String, _ args : CVarArgType...) {
    withVaList(args) { vsyslog(priority, message, $0) }
}

syslog(LOG_ERR, "i=%ld, x=%f", 123, 34.56)

而是在Swift中定义一个包装器函数:

syslog(LOG_ERR, "status=%s", "OK".cStringUsingEncoding(NSUTF8StringEncoding))

请注意,字符串参数必须作为C字符串传递:

NSLog()

或者,使用NSLog("i=%ld, x=%f, status=%@", 123, 34.56, "OK") 写入系统日志:

syslog()

另请注意,在OS X上,asl_XXX只是一个包装器 "Apple System Logger facility"。你可以打电话 直接#include <asl.h>功能,您只需asl_log() 在桥接头文件中。如上所述,asl_vlog()不是 导入到Swift,你必须改为调用{{1}}。