Discourse のセルフホスト Docker イメージの本番環境で、コードをハッキングせずに詳細なログを有効にすることは可能ですか?
この場所で多くの提案を読み直しましたが、どれもうまくいかなかったか、追加の情報が得られませんでした。
お気持ちお察しします。もっとも、私はそれを認識しているわけではありませんが!
Chatbot プラグインでは、冗長なInfoログを(オプションで設定により)本番環境ではWarnに振り分けることができるため、それらを確認できます。AIの問題の可視性にとって、これは非常に重要です。
… あなたの投稿を見ました… 私の問題はSAMLプラグインに関連しており、SAMLと認証プロトコルをよく理解していても、ログなしでは何もできません。プラグインが全く機能していないように見えます(プラグインのパラメータに従って理想的なSAML応答を作成しようとさえしました)。Discourseには多くの可能性があると思いますが、インストール、設定、特にロギングは非常に奇妙です(同じプラットフォームを使用しているGitLabと比較すると)。
抱えている問題を解決するために、Ruby環境を早く学ぶ必要があるようです ![]()
SAML プラグインの問題を解決します
… これはプラグインの問題であり、omniauth や ruby-saml gem/ライブラリの問題ではありません(何をしたかを文書化しようとしますが、基本的に不十分で誤解を招くドキュメントと、適切なデバッグなしの奇妙なプログラミング ソリューションの組み合わせであり、コメントが追加されていますが、問題がないとシステムを理解するのは困難です)。
トピックに戻ると、Discourse と Ruby に関する私の限られた知識に従って、以下を行うことをお勧めします。
- コンテナー ファイル (containers/app.yml) を手動で編集します。
- ヒント: コンテナーに別の名前を付けたい場合は、containers ディレクトリ内のファイル名を変更し、app を <your_name> に変更するすべてのコマンドを実行できます(おそらく他の方法でも可能ですが、調査する時間がありませんでした)。
- コードを操作できるように、GitHub でプラグインを自分のスペースにフォークします。コンテナー構成ファイルから他のプラグインと同じように常に呼び出すことができます。
- 多くの場所で、
File.write('/var/www/discourse/log/production.log', 'Some text', mode: 'a')を追加するだけで、コードのその部分の解釈が行われるたびにログ ファイルに書き込まれます。 - 必要に応じて Discourse プロジェクトを GitHub でフォークし、自分の場所からクローンすることもできます。
それはうまくいくかもしれません!
しかし、Rails を使い続けたいのであれば、こちらの方が良い選択肢だと思います。
(誰かが本番環境用の情報レベルオプションを提供してくれるまで!)
追加のオプションをありがとうございます…私のRuby/Railsの知識ではそのようなことはできません
…あなたの知識レベルを達成するにはもっと学ぶ必要があります。SAMLプラグインをこのように改善しようと思います(うまくいけばすぐに)、しかし今はDiscourseがコンポーネントの一つであるパイロットプロジェクトで他のSWのインストールを完了する必要があります。