Javascript 如何在postgres plv8过程中记录字符串?

Javascript 如何在postgres plv8过程中记录字符串?,javascript,postgresql,logging,plv8,Javascript,Postgresql,Logging,Plv8,我试图在plv8过程中使用plv8.elog()打印sql查询 plv8.elog(NOTICE, 'Notice:', str); 我不知道为什么,但我无法在控制台上看到任何输出。我搜索了可能的解决方案,发现了一个有用的信息,plv8可以打印最大长度为512个字符的字符串。链接如下 为了验证这一点,我尝试使用str.slice打印相同的字符串 plv8.elog(NOTICE, 'Notice:', str.slice(0,512)); 这次我可以看到预期的日志输出。有人能建议我

我试图在plv8过程中使用plv8.elog()打印sql查询

plv8.elog(NOTICE, 'Notice:', str);
我不知道为什么,但我无法在控制台上看到任何输出。我搜索了可能的解决方案,发现了一个有用的信息,plv8可以打印最大长度为512个字符的字符串。链接如下

为了验证这一点,我尝试使用str.slice打印相同的字符串

    plv8.elog(NOTICE, 'Notice:', str.slice(0,512));
这次我可以看到预期的日志输出。有人能建议我们如何记录超过512个字符的字符串吗?

我使用这个函数:

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);
};//}}}
(上下文:尚未更新。抱歉)


希望可以帮助…

将您的邮件拆分为最多512个字符的字符串,然后在单独的通知中打印出来,怎么样
parts=str.match(/.{1512}/g)
@pozs感谢您的建议,我们将最终采用它,但如果我们可以覆盖最大512个字符的默认行为,那就更好了。