暂时将分叉的mongod进程的stdout / stderr路由到控制台

时间:2017-11-18 11:51:01

标签: linux mongodb console stdout

我使用以下命令行参数启动了一个mongodb服务器实例

mongod --port 12345 --fork --logpath mongodb/test/logs/log.txt --dbpath mongodb/test/wiredTiger

如何暂时使此数据库实例将其stdout / stderr消息写入控制台窗口?

或者是否可以通过mongo客户端连接到它并指示服务器将这些消息回显给该客户端?

3 个答案:

答案 0 :(得分:1)

如果您的服务器在* nix环境中运行,您可以使用来自终端的tail命令:

tail -f /${path}/mongodb/test/logs/log.txt

它只会在控制台屏幕中为您提供log.txt文件的滚动视图。

答案 1 :(得分:0)

抱歉,我不是mongod的用户,所以我猜这里:

Mongod似乎是使用coutcerr流的c ++程序,例如,请参阅initializer.cpp:95(即该文件的第95行,您可能需要向下滚动一点)

问:mongod命令是否将所有内容(stdout,stderr)重定向到logpath中给出的日志文件?如果是这样,也许只需删除'logpath'选项。 (尚未测试过。)

要测试输出的位置,可能尝试使用一些无效的启动参数运行它,并查看输出的位置。

答案 2 :(得分:0)

在没有--fork--log的情况下启动它,以便它在前台运行并将日志写入控制台:

mongod --port 12345  --dbpath mongodb/test/wiredTiger

这将在端口12345上启动db