app: support sentry tracker

This commit is contained in:
DIYgod 2018-08-21 18:00:03 +08:00
parent 7c874109d9
commit ac42d919c5
No known key found for this signature in database
GPG Key ID: EC0B76A252D3EF67
4 changed files with 51 additions and 3 deletions

View File

@ -10,6 +10,7 @@ module.exports = {
requestRetry: process.env.REQUEST_RETRY || 2, // 请求失败重试次数
// 是否显示 Debug 信息,取值 boolean 'false' 'key' ,取值为 'false' false 时永远不显示,取值为 'key' 时带上 ?debug=key 显示
debugInfo: process.env.DEBUG_INFO || true,
sentry: process.env.SENTRY || '', // 使用 sentry 进行错误追踪,这里是 sentry 提供的 DSN 链接
redis: {
url: process.env.REDIS_URL || 'redis://localhost:6379/',
options: {

View File

@ -1,4 +1,10 @@
const logger = require('../utils/logger');
const Raven = require('raven');
const config = require('../config');
if (config.sentry) {
Raven.config(config.sentry).install();
}
module.exports = async (ctx, next) => {
try {
@ -10,5 +16,11 @@ module.exports = async (ctx, next) => {
});
ctx.body = `RSSHub 发生了一些意外: <pre>${err instanceof Error ? err.stack : err}</pre>`;
ctx.status = 404;
if (config.sentry) {
Raven.captureException(err, function(err, eventId) {
console.log('Reported error ' + eventId);
});
}
}
};

View File

@ -57,6 +57,7 @@
"lru-cache": "4.1.3",
"markdown-it": "^8.4.2",
"path-to-regexp": "2.2.1",
"raven": "^2.6.3",
"readall": "1.0.0",
"redis": "2.8.0",
"rss-parser": "3.4.3",

View File

@ -1564,6 +1564,10 @@ chardet@^0.4.0:
version "0.4.2"
resolved "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
charenc@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
cheerio@1.0.0-rc.2:
version "1.0.0-rc.2"
resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"
@ -1873,6 +1877,10 @@ convert-source-map@^1.1.0:
version "1.5.1"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
cookie@0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
cookies@~0.7.0, cookies@~0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b"
@ -1992,6 +2000,10 @@ cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
crypt@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
cryptiles@3.x.x:
version "3.1.2"
resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
@ -3651,7 +3663,7 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
is-buffer@^1.1.5:
is-buffer@^1.1.5, is-buffer@~1.1.1:
version "1.1.6"
resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@ -4603,6 +4615,14 @@ md5.js@^1.3.4:
hash-base "^3.0.0"
inherits "^2.0.1"
md5@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
dependencies:
charenc "~0.0.1"
crypt "~0.0.1"
is-buffer "~1.1.1"
mdurl@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
@ -5914,6 +5934,16 @@ range-parser@^1.0.3:
version "1.2.0"
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
raven@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4"
dependencies:
cookie "0.3.1"
md5 "^2.2.1"
stack-trace "0.0.10"
timed-out "4.0.1"
uuid "3.0.0"
rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
version "1.2.7"
resolved "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297"
@ -6554,7 +6584,7 @@ ssri@^5.2.4:
dependencies:
safe-buffer "^5.1.1"
stack-trace@0.0.x:
stack-trace@0.0.10, stack-trace@0.0.x:
version "0.0.10"
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
@ -6813,7 +6843,7 @@ time-fix-plugin@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/time-fix-plugin/-/time-fix-plugin-2.0.1.tgz#4943dd28c8fa36a543aec34e3af2a173abc43de1"
timed-out@^4.0.0:
timed-out@4.0.1, timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
@ -7165,6 +7195,10 @@ utila@~0.4:
version "0.4.0"
resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
uuid@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728"
uuid@^3.1.0, uuid@^3.2.1:
version "3.2.1"
resolved "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"