2017-08-02 141 views
0

我正在使用Rails日志记录在我的Rails 4应用程序中记录信息。 我没有在我的配置中设置config.logger=Logger.new(STDOUT),并且只保留记录器的默认选项。但是,除了/log文件夹下的日志文件之外,当使用语句Rails.logger.info时,信息仍会打印到控制台。Rails日志记录到控制台

为什么会发生这种情况,因为我只想将日志信息放入日志文件中,而不是打印到控制台?谢谢

+0

_Sidenote:_这只发生在开发环境中。你真的想在'dev'中抑制日志到控制台吗? – mudasobwa

+0

哦,我不知道这只发生在开发环境中。这有助于解释很多。谢谢 – 3d510

回答

0

那就是rails s如何表现。它将日志输入log/development.log以及在命令行中显示。因为这对大多数情况来说更方便。

不管怎么说,如果你不想要它,你可以运行你的服务器是这样的:

rails s 1> /dev/null 

这将重定向所有文字到/ dev/null的

+0

'1>'中的'1'是多余的。此外,轨道记录器可能被配置为避免打印任何东西到控制台;做这个打印,甚至在重定向到'/ dev/null'之后,会降低速度,不应该被使用。 – mudasobwa

-1

如果你只想打印日志在日志/ development.log中,而不是在控制台中,然后使用以下来开始您的rails server

rails s > log/development.log 
+0

这是“如何拧螺丝”的建议。难道你不认为将输出重定向到用于写入file_的rails打开的_already不是最好的主意吗? – mudasobwa

+0

@mudasobwa:他不想在控制台中打印日志,因此上述操作将按照问题 –

+0

工作,否则不起作用。 – mudasobwa

相关问题