2013-09-30 7 views
2

Я пытаюсь обрабатывать ошибки на своем веб-сайте. Я регистрирую каждую ошибку в своих файлах журналов, но я хотел бы знать, как настроить сообщение, записанное в файле журнала.Как настроить файл журнала на Yii Framework?

В настоящее время я получаю сообщение:

2013/09/30 10:08:59 [ошибка] [exception.CException] Исключение 'CException' с сообщением 'Ошибка теста' в MYDOMAIN .com \ protected \ controllers \ SiteController.php: 234

Помогите мне?

+0

вы можете использовать Yii :: log ($ message, $ level, $ category); –

+0

Спасибо за ваш ответ, но у меня есть другой вопрос. Как вы делаете удаление «трассировки стека»? – Florent

+0

Я думаю, вы можете изменить эту строку 'defined ('YII_TRACE_LEVEL') или определить ('YII_TRACE_LEVEL', 3);' в вашем файле 'index.php' –

ответ

2

Для ручных сообщений журнала настройки вам необходимо создать свой собственный класс LogRoute. В вашей ситуации вам нужно наследовать класс от CFileLogRoute и переопределить метод formatLogMessage (например, в примере):

class MyFileLogRoute extends CFileLogRoute{ 
    protected function formatLogMessage($message,$level,$category,$time) 
    { 
     //enter code here your custom message format 
     return @date('Y/m/d H:i:s',$time)." [$level] [$category] $message\n"; 
    } 
} 

Чем настроить свой файл конфигурации:

 'log' => array(
      'class' => 'CLogRouter', 
      'routes' => array(
       array(
        'class' => 'MyFileLogRoute', 
        'levels' => 'error, warning, info', 
        'categories' => 'application.*', 
        'logPath' => dirname(__FILE__).'/../../../../../logs/', 
       ), 
       ... 

И да , @ragingprodigy прав: вы можете установить define('YII_DEBUG', 0) или define('YII_TRACE_LEVEL', 0) в index.php, чтобы удалить трассировку стека f rom log

Смежные вопросы