New Relic Error Alert with Yii

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 - 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
/**
 * 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:

'errorHandler'=>array(
				
				'class' => 'ErrorHandler',
...
			),

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

2 0
4 followers
Viewed: 16 631 times
Version: 1.1
Category: Tips
Written by: simon604
Last updated by: razvanphp
Created on: Aug 22, 2013
Last updated: 3 years ago
Update Article

Revisions

View all history

Related Articles