2012-08-24 19 views
0

我根据文档在airbrake.expressHandler(),误差函数不存在

https://github.com/felixge/node-airbrake

去但当我尝试它,我得到

app.error(airbrake.expressHandler()); 
       ^
TypeError: Object #<Airbrake> has no method 'expressHandler' 

我的代码如下:

// dependencies 
var express = require('express') 
    , http = require('http') 
    , logger = require('./app/lib/logger') 
    , airbrake = require('airbrake').createClient('HIDDEN'); 

var app = express(); 
var env = app.settings.env; 

// controllers 
var InvoiceController = require('./app/controllers/invoice_controller') 
    , IndexController = require('./app/controllers/index_controller') 
    , PaymentController = require('./app/controllers/payment_controller') 
    , AccountController = require('./app/controllers/account_controller') 
    ; 

// configurations and middleware stack 
app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.set('views', __dirname + '/app/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 
}); 

if (env === 'production' || env === 'staging' || env === 'qa') { 
    app.error(airbrake.expressHandler()); 
} else { 
    app.error(airbrake.expressHandler()); 
    //app.use(express.errorHandler()); 
} 

throw new Error("testing express handler"); 

回答

2

它看起来像特定的处理程序是在最后一个o fficial版本,但不在npm存储库中:尝试从github安装最新的代码。

+0

你,无赖,哈哈,我会试着让他们也发布它 – Max