Cake-Sentry
Cake-Sentry is an error handler plugged on Sentry - docs, (*1)
Installation
- Install Sentry Plugin into your CakePHP project :
git submodule add http://github.com/Sandreu/cake-sentry app/Plugin/Sentry
cd app/Plugin/Sentry
git submodule init
git submodule update
- Load the cake-sentry Plugin in your bootstrap.php :
CakePlugin::load('Sentry');
- Configure the error handler in your core.php :
App::uses('SentryErrorHandler', 'Sentry.Lib');
Configure::write('Sentry', array(
'production_only' => false, // true is default value -> no error in sentry when debug
'avoid_bot_scan_errors' => 'MissingController or MissingPlugin error message', // or false if you want Sentry to log MissingController and MissingPlugin Exceptions
'User' => array(
'model' => 'SpecialUser', // 'User' is default value
'email_field' => 'special_email' // default checks 'email' and 'mail' fields
),
'PHP' => array(
'server'=>'http://your-sentry-dns-for-PHP'
),
'javascript' => array(
'server'=>'http://your-sentry-dns-for-javascript'
)
));
Configure::write('Error', array(
'handler' => 'SentryErrorHandler::handleError',
'level' => E_ALL & ~E_DEPRECATED,
'trace' => true
));
Configure::write('Exception', array(
'handler' => 'SentryErrorHandler::handleException',
'renderer'=>'ExceptionRenderer'
));
- Use Sentry as logger :
CakeLog::config('default', array('engine' => 'Sentry.SentryLog'));
- include ravenjs and init script in the default layout :
<?php
echo $this->Html->script('jquery');
echo $this->Html->script('ravenjs-min');
?>
<script type="text/javascript">
$(function () {
<?php echo $this->element('Sentry.raven-js'); ?>
});
</script>