暂时路线标准输出/标准错误安慰

暂时路线标准输出/标准错误安慰

问题描述:

我开始了MongoDB的服务器实例使用下面的命令行参数暂时路线标准输出/标准错误安慰

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

我怎么能暂时使这个数据库实例写它的标准输出/标准错误消息我控制台窗口?

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

启动数据库如果您的服务器上的* nix的环境中运行你可以从一个终端使用tail命令,像这样:

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

这将只是给你log.txt文件的滚动视图控制台屏幕。

+0

我不确定该日志是否实际上包含将输出到stdout和stderr的所有信息。这感觉就像一些客户端连接丢失。 –

+1

[documentation](https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-logpath)states _-- logpath 将所有诊断日志信息发送到日志文件而不是标准output_。所以,在我看来,所有的信息都在这个文件中。 –

,对不起,我不是的mongod的用户,所以我猜这里:

的mongod似乎用C++程序coutcerr流,如见initializer.cpp:95(即行文件95是你可能需要向下滚动)

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

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

没有​​启动它,--log,使其在前台运行,并写日志控制台:

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

这将在端口12345