2017-07-12 20 views
1

少し問題があります。 私はYii2フレームワークを使ってPHPアプリケーションを開発しています。私はdbテーブルにログメッセージを保存します。 私は自分のコンポーネントの魔法使いをコーディングしています。このコンポーネントでは、私のテーブルにデータを保存するためにexport()関数を書き直しています。それは正常に動作しますが、私はログメッセージを取得することはできません。 たとえば、Yii:log( 'message log')を呼び出すと、自分のコンポーネントでこの値を取得する方法がわからないため、すべてのデータが「メッセージログ」以外のデータベースに保存されます。yii2でログメッセージを受け取る方法

どのようなソリューションですか? ありがとう

p.s.私はyii2の初心者です。私は公式の文書を読んでいますが、私は解決策を見いだせませんでした。

+0

共有いくつかのコードをログに記録しようとすることができSHUREすることが

。 –

答えて

1

あなたのメッセージ

Yii:log('message log', Logger::LEVEL_TRACE) 

やショートカットの方法を使用

Yii::info('message log') 
Yii::trace('message log') 
Yii::error('message log') 

のレベルを指定する必要がありそうです別の目標のためにあなたの設定を確認してください。あなたのメッセージが別の目標のレベルまたはカテゴリに行くかもしれません。既定のカテゴリは'application'です。この設定

'components' => [ 
    'log' => [ 
     'targets' => [ 
      [ 
       'class' => 'YourDbTarget', 
       'levels' => ['info'], 
       'categories' => ['application'], 
      ], 
     ], 
    ], 
], 

を作成し、情報メッセージ

Yii::info('message log') // target = info, category = application 
+0

Tnxのデバッグツールバーにログメッセージが表示されるようになりましたが、私のコンポーネントの魔法の機能では、私のログメッセージを取得するために呼び出す必要がありますか?[質問]と[mcve]を参照してください。たとえば、ユーザーIDを取得するには、 'Yii :: $ app-> user-> getId();'を呼び出します。それらを私のdbテーブルに保存します。私のログメッセージを受け取るような呼び出しがありますか? ( 'メッセージログ')? –

+0

私はあなたがログテーブルにクエリを行うべきだと思います:(新しいクエリ) - > select( '*') - > from( 'log') - > all(); –

関連する問題