Difference between #2 and #3 of New Relic Error Alert with Yii

unchanged
Title
New Relic Error Alert with Yii
unchanged
Category
Tips
unchanged
Tags
new relic, error, error handling
changed
Content
**Introduction**

New Relic is a SaaS company that provides a native PHP extension to interface
with their application performance tracking and metrics engine. 

Out of the box with the default New Relic installation on your server, it will
be able to track your application performance. However, one thing that's missing
will be Error Alerts since Yii's error handling seems to take over the PHP error
handling as opposed to extending it.

[yii-relic](http://www.yiiframework.com/extension/yii-newrelic/
"yii-relic") - an existing Yii Ext help integrate New Relic with Yii.
If you find this a little heavy, you can easily implement the following using
the New Relic PHP API:

1) Create a new class under /protected/components/ErrorHandler.php to extend
CErrorHandler

~~~
[php]
<?php
/**
 * Extending CErrorHandler to integrate with New Relic errors
 * 
 */
class ErrorHandler extends CErrorHandler
{
	/**
	 * Handles the exception.
	 * @param Exception $exception the exception captured
	 */
	protected function handleException($exception)
	{
		if (extension_loaded('newrelic')) {
			newrelic_notice_error( $exception->getMessage(), $exception );
		}

		parent::handleException( $exception );
	}
}
~~~

2) In your config file, add the following under component:


~~~
[php]
'errorHandler'=>array(
								// use 'site/error' action to display errors
				'class' => 'ErrorHandler',
...
			),
~~~

That's it! This will send your errors to New Relic via their API.