2016-04-13 21 views

cevap

1

görünüyor, bu nedenle bir örümcek neden olduğunu hatalarını görmezden rollbar anlatmak için Rollbar::Ignore kullanmak isterdim hataya neden isteği ise is_crawler_error algılar

handler = proc do |options| 
    raise Rollbar::Ignore if is_crawler_error(options) 
end 

Rollbar.configure do |config| 
    config.before_process << handler 
end 

bir paletli.

istemci tarafında JavaScript hataları tespit etmek için rollbar.js kullanıyorsanız, o zaman botlara neden istemci tarafı hataları filtrelemek için checkIgnore seçeneğini kullanabilirsiniz: Burada

_rollbarConfig = { 
    // current config... 
    checkIgnore: function(isUncaught, args, payload) { 
    if (window.navigator.userAgent && window.navigator.userAgent.indexOf('Baiduspider') !== -1) { 
     // ignore baidu spider 
     return true; 
    } 
    // no other ignores 
    return false; 
    } 
} 
+0

is_crawler_error yöntemi ile ilgili daha fazla bilgiyi nereden alabilirim? –

+0

Merhaba Alif - Bu konuda net olmamak için üzgünüm - 'is_crawler_error' (örümcekleri bulmak için herhangi bir yöntem) tanımlamanız gerekir. Engellemek istediğiniz bilinen örümceklerin listesine karşı istek üzerine kullanıcı aracısı değerini kontrol etmelidir. –

+0

Bazı istekleri göz ardı etmek için işleyiciyi nasıl uygulayacağınıza dair bir tarif arayınız. Dokümanlardaki eksiksiz bir kopyala yapıştırınsa bunun nasıl kabul edilebilir bir cevap olabileceğinden emin değil. –

0

ne yaptım:

is_crawler_error = Proc.new do |options| 
    return true if options[:scope][:request]['From'] == 'bingbot(at)microsoft.com' 
    return true if options[:scope][:request]['From'] == 'googlebot(at)googlebot.com' 
    return true if options[:scope][:request]['User-Agent'] =~ /Facebot Twitterbot/ 
end 

handler = proc do |options| 
    raise Rollbar::Ignore if is_crawler_error.call(options) 
end 

config.before_process << handler 

these docs.

İlgili konular