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

标签 javascript postgresql logging plv8

我正在尝试在 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 个字符的字符串吗?

最佳答案

我使用这个功能:

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尚未更新。抱歉)

希望可以帮助...

关于javascript - 如何在 postgres plv8 过程中记录字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27523844/

相关文章:

java - logcat 中出现错误 "isDataSchedulerEnabled():false"

python - python记录器的子项可以被删除吗?

javascript - 将数据从服务传递到 Controller

php - 联营公司如何跟踪购物车?

sql - 匹配所有可能值的值(当然 null 除外)?

java - 如何配置连接池 Apache Tomcat->PostgreSQL->Persistence Java?

javascript - 是否可以记录 KO 可观察数组?

javascript - 正则表达式用于字母数字字符串中的数字计数

javascript - 调试 Webworker

postgresql - Postgres 使用位图索引扫描而不是普通的索引扫描