Привет всем,
Задача: вести логирование SQL-запросов в файл в производственном режиме.
Имею в конфиге:
'db'=>array(
'connectionString' => 'mysql:host=<...>;dbname=<...>',
'emulatePrepare' => true,
'username' => '<...>',
'password' => '<...>',
'charset' => 'utf8',
'schemaCachingDuration'=>3600,
'enableParamLogging'=>true,
'enableProfiling'=>true,
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'trace',
'categories'=>'system.db.CDbCommand',
'LogPath' => '/var/log/apache/<...>',
'LogFile' => 'db.trace',
'maxFileSize' => 1024 * 100, //100 MB
),
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info, profile, warning, error',
'maxFileSize' => 1024 * 100, //100 MB
),
array(
'class'=>'UserCEmailLogRoute',
'levels'=>'error',
'emails' => array(<...>),
'sentFrom' => '<...>',
'subject' => 'Error at <...>'
),
),
),
Сответственно, как только в index.php комментирую строку с константой YII_DEBUG…
// remove the following lines when in production mode
//defined('YII_DEBUG') or define('YII_DEBUG',true);
…то логирование перестает работать.
Существует ли возможность разрешить данную проблему без изменения фреймворка?