详细日志

是否可以在不修改代码的情况下,在 Discourse 自托管的生产实例中使用 Docker 镜像启用详细日志记录?
我重新阅读了这里的许多建议,但没有一个奏效,或者没有获得任何额外信息。

1 个赞

我理解你的痛苦——尽管我并不知情!

Chatbot 插件中,我可以将冗长的 Info 日志(可选通过设置)重定向到 Production 的 Warn 级别,以便我能看到它们。这对于 AI 问题的可见性至关重要。

1 个赞

:slight_smile: … 我看到了你的帖子 … 我的问题与 SAML 插件 相关,即使我对 SAML 和身份验证协议很了解,没有日志我也无能为力,而且看起来该插件根本不起作用(我甚至尝试根据插件中的参数创建理想的 SAML 响应)。我看到了 Discourse 的巨大潜力,但安装、配置,尤其是日志记录非常奇怪(与使用相同平台的 GitLab 相比)。

看起来我需要快速学习 Ruby 环境来解决我遇到的问题 :slight_smile:

1 个赞

解决 SAML 插件问题 :slight_smile: … 这是插件本身的问题,而不是 omniauth 或 ruby-saml gem/库的问题(我会尝试记录我所做的,但基本上是文档不足和误导性文档的组合,以及一些奇怪的编程解决方案,没有适当的调试,添加了一些注释,但没有注释,系统很难理解)。

为了不偏离主题,我建议(根据我对 Discourse 和 Ruby 的有限了解)这样做:

  • 手动编辑容器文件(containers/app.yml)
  • 提示:如果你希望容器有一个不同的名称,你可以在 containers 目录中更改文件名,并在所有命令中将 app 改为 your_name(这可能还有其他方法可以实现,但我没有时间去研究)
  • 在 GitHub 上 fork 该插件到你自己的空间,这样你就可以操作代码了,你可以在容器配置文件中像调用任何其他插件一样调用它
  • 在很多地方你只需要添加 File.write('/var/www/discourse/log/production.log', 'Some text', mode: 'a'),每次代码执行到那一部分时,它都会被写入日志文件
  • 如果你也想改进 Discourse,你也可以在 GitHub 上 fork Discourse 项目并从你的地方克隆它
1 个赞

那也行!

但如果你想继续使用 Rails,我认为这是个更好的选择:

(直到有人能为我们提供生产环境的信息级别选项!)

感谢您提供的额外选项……我对 Ruby/Rails 的了解不足以做到这些 :slight_smile: ……我需要学到更多才能达到您那样的知识水平,我会尝试以这种方式改进 SAML 插件(希望很快),但现在我需要在其中一个试点项目中完成其他软件的安装,Discourse 是其中一个组件。

1 个赞