33682


<https://book.cakephp.org/3.0/ja/orm.html>

<https://book.cakephp.org/3.0/ja/orm/database-basics.html#database-query-
logging>

上記を参考にして、SQLクエリのログを出力しようとしましたが、出力されませんでした。

[code]

    use Cake\ORM\TableRegistry;
    use Cake\Datasource\ConnectionManager;
    
    $connection = ConnectionManager::get('default');
    
    // クエリログを有効
    $conn->logQueries(true);
    
    $articles = TableRegistry::get('Articles');
    
    $query = $articles->find();
    
    foreach ($query as $row) {
        echo $row->title;
    }
    
    // クエリログを停止
    $conn->logQueries(false);
    
[/code]

コネクションについてはTableクラスの  
<https://api.cakephp.org/3.4/class-Cake.ORM.Table.html#_getConnection>  
も使ってみましたが、同様に出力されませんでした。

他のエラーログなどは出力されています。

正しいやり方を教えていただけますでしょうか。

よろしくお願いいたします。


CC BY-SA 3.0
2017-03-27T07:16:42.673
33569
2017-03-31T22:43:23.210
7256
question
cakephp
cakePHP3 テーブルクラスのインスタンスからSQLクエリログを取得する方法


config/bootstrap.phpにログ出力の設定はありますか

[code]

    Log::config('queries', [
        'className' => 'File',
        'path' => LOGS,
        'file' => 'queries.log',
        'scopes' => ['queriesLog']
    ]);
    
[/code]

また、Debugkitが有効になっていると出力されないようです。プラグインを一時的に無効にするか。app.phpのdebug=falseにするなどしてみてください。


CC BY-SA 3.0
2017-03-31T22:43:23.210
33682
2017-03-31T22:43:23.210
19633
33569
answer