我正尝试在plv8过程中使用plv8.elog()打印一个sql查询。
plv8.elog(NOTICE, 'Notice:', str);我不知道为什么,但是我在控制台上看不到任何输出。我搜索了可能的解决方案,发现了一个有用的信息,即plv8可以打印最大长度为512个字符的字符串。链接如下所示。
http://code.google.com/p/plv8js/issues/detail?id=78
为了验证这一点,我尝试用str.slice打印相同的字符串
plv8.elog(NOTICE, 'Notice:', str.slice(0,512));这一次,我可以看到预期的日志输出。有没有人可以建议,我们怎么能记录超过512个字符的字符串呢?
发布于 2015-06-04 19:01:58
我使用这个函数:
var logMaxL = 90;
function log () {//{{{
var overflow = [];
var args = Array.prototype.slice.call(arguments, 0).map(function(arg, i){
if (arg instanceof Object) arg = JSON.stringify(arg);
if (
typeof arg == "string"
&& arg.length > logMaxL
) {
overflow[i] = arg.substring(50);
arg = arg.substring(0, 50);
};
return arg;
});
plv8.elog.apply(this, [NOTICE].concat(args));
if (overflow.length) log.apply(this,overflow);
};//}}}(上下文:this Gist尚未更新。对不起)
希望能帮上忙..。
https://stackoverflow.com/questions/27523844
复制相似问题