私はmonolog loggerでfosrestBundleを使用してカスタムログを作成します。 私はconfig_dev.ymlでこのCONFを追加しました:symfony環境設定ファイル
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
myCustomLog:
type: stream
path: "%kernel.logs_dir%/myCustomLog%kernel.environment%.log"
channels: [myCustomLog]
をだから私は私の他の環境設定ファイルで同じことをやった(config_prod.yml、config_qualif.yml ...)
を問題は、それがconfig_prodもありますまたはconfig_qualifは使用されません。
私はこのエラーが発生しました:
PHP Fatal error: Uncaught Symfony\\Component\\DependencyInjection\\Exception\\ServiceNotFoundException: You have requested a non-existent service "monolog.logger.myCustomLog". in /var/www/myWebSite/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:816\nStack trace:\n#0
私はconfig.ymlファイルで私のモノローグconfに移動し、それはすべての環境で動作しますが、これは良い解決策ではありません。
環境設定ファイルを正しく使用する方法を理解するのを助けることができますか?私は何が良いのか分かりません。そして、私はfosrestbundleが適切な環境設定ファイルを使用しているかどうかはわかりません。
私のapacheのconfはprod環境のために次のようになります。
RewriteRule ^(.*)$ /app_qualif.php [QSA,L]
そしてapp.phpに私はこのラインがあります:
予選環境のServerAdmin [email protected]
DocumentRoot /var/www/myWebSite/web
<IfModule dir_module>
DirectoryIndex app.php
</IfModule>
<Directory /var/www/myWebSite/web>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</IfModule>
</Directory>
、書き換えルールがある
を$kernel = new AppKernel('prod', false);
また、app_qualif.phpには次の行があります。
$kernel = new AppKernel('qualif', false);
あなたの助け
これが本当の問題に答えていませんか?あなたのソリューションは動作しますが、環境に応じて異なるレベルが必要な場合は、私はそれを行うことができません –