ec-cube icon indicating copy to clipboard operation
ec-cube copied to clipboard

[4.2] monolog.yml に stream を追加

Open nanasess opened this issue 1 year ago • 3 comments

概要(Overview・Refs Issue)

本番環境の出力先は stream が推奨されている https://symfony.com/doc/5.4/logging.html#where-logs-are-stored

方針(Policy)

monolog.yml に stream を追加

実装に関する補足(Appendix)

APP_ENV=dev の場合は symfony/cli で実行すると、 SQLの実行内容も確認できる スクリーンショット 2022-07-14 11 29 47

テスト(Test)

symfony/cli にてログ出力を確認

相談(Discussion)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • [ ] 既存機能の仕様変更はありません
  • [ ] フックポイントの呼び出しタイミングの変更はありません
  • [ ] フックポイントのパラメータの削除・データ型の変更はありません
  • [ ] twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • [ ] Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • [ ] 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • [ ] 動作確認
  • [ ] コードレビュー
  • [ ] E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • [ ] 互換性が保持されているか
  • [ ] セキュリティ上の問題がないか
    • [ ] 権限を超えた操作が可能にならないか
    • [ ] 不要なファイルアップロードがないか
    • [ ] 外部へ公開されるファイルや機能の追加ではないか
    • [ ] テンプレートでのエスケープ漏れがないか

nanasess avatar Jul 14 '22 02:07 nanasess

@nanasess リンク先のドキュメントを読みましたが、「APP_ENV=prodのデフォルトは標準エラーになっている。これはディスク書き込みできないコンテナ化された環境では最適」で必ずしも本番に推奨とはならないと思うのですが、どうでしょうか?

kiy0taka avatar Aug 10 '22 07:08 kiy0taka

@kiy0taka 最近は、monolog-bundle を追加した時に symfony/flex で自動的に stream が設定されますし、 https://github.com/symfony/recipes/blob/b3395a2477b6d58089f92ef3a0d2e58226825a3a/symfony/monolog-bundle/3.1/config/packages/prod/monolog.yaml#L11-L14

symfony/demo でも、出力先に stream が設定されていました https://github.com/symfony/demo/blob/1a7777fa6971c7b28938ac48e8df61d1b2427b1b/config/packages/prod/monolog.yaml#L9-L13

特にデメリットがなければ、追加しておこうくらいに思っていましたがいかがでしょう? デメリットありそうでしたらクローズしていただいても大丈夫です。

nanasess avatar Aug 10 '22 07:08 nanasess

@nanasess monolog-bundleやsymfony/demoのデフォルトはstreamですがpathを指定してるのでファイル出力になると思います。ファイル出力するのであれば現状のrotating_fileの方が良いと思います。 追加された変更はpath指定がないので標準エラーになるという認識なのですが、これのメリットは環境によると思います。

kiy0taka avatar Aug 10 '22 08:08 kiy0taka

@kiy0taka path を省略すると %kernel.logs_dir%/%kernel.environment%.log と標準エラー出力の両方に出力されるようです。これだと当初の意図と異り、あまりよろしくないので、一旦クローズします

nanasess avatar Aug 12 '22 00:08 nanasess