保存应用重建命令的结果

我在重新构建应用时看到一些警告,但很少有机会仔细阅读。

这些文本会被记录到任何地方吗?

如果没有,有没有推荐的方法来实现这一点?

我刚刚将 PuTTY 的“滚动缓冲区行数”从 2,000 增加到了 20,000,这也许是个简单的解决办法。

如果您在 Linux 和其他类 Unix 系统上进行构建,可以使用 tee 命令。

另请参阅:

尝试运行 ./launcher logs app
部分输出应该会显示,但我不确定是否全部都已保存。您还可以在 /var/discourse/shared/standalone/log/rails/ 下找到更多日志,尤其是 production.log 文件。

由于 launcher 是一个 Shell 脚本而非 Rails 应用程序,rails 目录下的 production.log 仅记录 Rails 相关信息,而不记录来自 launcher 的 Shell 脚本信息。它记录了所有 Rails 操作,主要是在 Rails 应用(Discourse)启动之后发生的。

./launcher logs 命令实际上是 $docker_path logs $config 的别名,即 Docker 日志。

因此,若要获取 launcher 脚本中所有 launcher 进程的完整信息,如果你希望在终端查看信息而不将输出重定向到文件(即重定向 STDOUT),就需要使用 tee(或其他方法)将输出保存到文件中。如果你将输出重定向到文件,则无法在终端中看到输出。

这正是 tee 命令被设计出来的原因 :slight_smile:

所以,如果你想捕获 launcher 脚本的完整输出,我推荐使用 tee。它非常适合此类用途。

@Jonathan5 是 PuTTY 吗?你或许可以考虑微软新推出的(且免费开源的)Windows 10 终端应用,可从 Windows 商店下载:

https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab

GitHub 地址:https://github.com/Microsoft/Terminal。

……它非常优秀!它支持 GPU 加速,因此回溯滚动也不会成问题。

@neounix 这个提示很棒,我之前从未用过那个命令!我会把它加入我的工具箱。我一直只是使用管道,但这个命令让你兼得两者之利。

我会研究一下 tee。在一些(非 Discourse 的)cron 任务中,我使用 >>logfile 2>&1

无论哪种情况,我都倾向于严格按照这里的操作指南中列出的确切命令来执行,不愿做任何改动。

因此,目前我会增加 PuTTY 的滚动缓冲区,同时也会了解一下那个微软的替代方案。

我也会检查一下日志。

感谢你的建议!