【问题标题】:where are meteor logs kept in local dev mode?本地开发模式下的流星日志保存在哪里?
【发布时间】:2014-10-06 05:01:32
【问题描述】:

我知道console.log,但meteor是否为各种错误保留单独的内部日志?

我没有看到来自 check() 函数的任何有用响应。

http://docs.meteor.com/#check

对于客户端,它只会显示为 Meteor.Error(400, "Match Failed");失败详情将写入服务器日志,但不会显示给客户端。

这是我得到的,但服务器日志中没有错误,我可以看到。 也许就在将应用程序部署到生产环境时,日志记录行为会发生变化? 在 osx 机器上是否有任何其他系统级日志? 我在 /var/log/ 中看不到任何内容

谢谢!

【问题讨论】:

标签: logging meteor


【解决方案1】:

日志不存储在本地,它们打印到stdoutstderr

您可以使用以下命令存储这些日志:

meteor > logs.txt

然后还可以使用以下方法进行实时预览:

tail -f logs.txt

如果你想在一行中做到这一点,那么:

meteor > logs.txt | tail -f logs.txt

【讨论】:

  • 您也可以使用 console.error() 登录到 stderr。但是我的观点是 check() 方法似乎有它的日志输出消失到我不知道在哪里。它不会出现在 STDERR 中,因为它会出现在正常的流星输出中。所以我只能猜测它在开发模式下不会去任何地方......这使得它不像检查方法那么有用。我必须自己写支票,使用Match.test(val, pat)
  • 现在我明白你的意思了。我试图在 Meteor 源中找到问题的原因,但到目前为止没有运气(需要花更多时间在上面)。 checkMatch.test 之间的区别在于 check 抛出任何错误,Match.testMatch.Error 的情况下返回 Boolean
【解决方案2】:

文档不正确。在 v0.8.3 中,check 不会在任何地方记录故障。正如here 所见,这将在下一个版本的流星中得到修复:

当在方法或订阅中调用 match 失败时,将失败记录在服务器上。 (这符合我们文档中描述的行为)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2016-07-06
    • 2019-07-09
    • 1970-01-01
    相关资源
    最近更新 更多