Zend Framework 2.2.0 では、新しい抽象ファクトリが多数追加されました。データベース ロガーを構成したいのですが、その方法がわかりません。このリンクは、ストリーム ロガーを構成する次の例を示しています。
'log' => array(
'Application\Log' => array(
'writers' => array(
array(
'name' => 'stream',
'priority' => 1000,
'options' => array(
'stream' => 'data/logs/app.log',
),
),
),
),
),
構成を にコピーしようとしましたが、キーconfig/global.php
の下にネストしようとしました。service_manager
サービス マネージャーからロガーを直接取得できるはずですが、のインスタンスを作成できなかったというエラーが表示されますApplication\Log
。ここで何か誤解しましたか?構成をどこに追加する必要がありますか?
また、私の具体的な例では、データベース ライターを使用したいと考えています。上記と同様のスタイルでこれをどのように構成しますか (つまり、配列を使用)? Zend\Writer\Db
コンストラクタを見ると、アダプタ インスタンスを渡す必要があります。私のデータベース アダプタは抽象ファクトリ自体を使用しているため、ファクトリを作成せずにそれを行う方法がわかりません。Zend\Db\Adapter\AdapterServiceFactory
. db ライターに挿入するために、構成ファイル内のサービス マネージャーにアクセスしてデータベース アダプターを取得する必要があるようです。それが可能かどうかはわかりません。
カスタム ファクトリは問題なく作成できますが、これらの一貫した抽象ファクトリのアイデアが気に入っています。私はそれらをどのように使用するかについて混乱しています。