Просмотр исходного кода

Merge pull request #5181 from overleaf/bg-upgrade-sentry-package-version

Migrate from raven to @sentry/node

GitOrigin-RevId: 1a82225b5204a9c507b566efff3c090b124e2392
Brian Gough 4 лет назад
Родитель
Сommit
08e0dcb85f

+ 8 - 20
libraries/logger/logging-manager.js

@@ -72,9 +72,9 @@ const Logger = (module.exports = {
     return res.text()
   },
 
-  initializeErrorReporting(sentryDsn, options) {
-    const raven = require('raven')
-    this.raven = new raven.Client(sentryDsn, options)
+  initializeErrorReporting(dsn, options) {
+    this.Sentry = require('@sentry/node')
+    this.Sentry.init({ dsn, ...options })
     this.lastErrorTimeStamp = 0 // for rate limiting on sentry reporting
     this.lastErrorCount = 0
   },
@@ -142,7 +142,7 @@ const Logger = (module.exports = {
         }
 
         // send the error to sentry
-        this.raven.captureException(error, { tags, extra, level })
+        this.Sentry.captureException(error, { tags, extra, level })
 
         // put a flag on the errors to avoid reporting them multiple times
         for (key in attributes) {
@@ -152,7 +152,7 @@ const Logger = (module.exports = {
           }
         }
       } catch (err) {
-        // ignore Raven errors
+        // ignore Sentry errors
       }
     }
   },
@@ -176,7 +176,7 @@ const Logger = (module.exports = {
       })
     }
     this.logger.error(attributes, message, ...Array.from(args))
-    if (this.raven != null) {
+    if (this.Sentry) {
       const MAX_ERRORS = 5 // maximum number of errors in 1 minute
       const now = new Date()
       // have we recently reported an error?
@@ -207,22 +207,10 @@ const Logger = (module.exports = {
     return this.logger.warn.apply(this.logger, arguments)
   },
 
-  fatal(attributes, message, callback) {
-    if (callback == null) {
-      callback = function () {}
-    }
+  fatal(attributes, message) {
     this.logger.fatal(attributes, message)
-    if (this.raven != null) {
-      var cb = function (e) {
-        // call the callback once after 'logged' or 'error' event
-        callback()
-        return (cb = function () {})
-      }
+    if (this.Sentry) {
       this.captureException(attributes, message, 'fatal')
-      this.raven.once('logged', cb)
-      return this.raven.once('error', cb)
-    } else {
-      return callback()
     }
   },
 

Разница между файлами не показана из-за своего большого размера
+ 391 - 315
libraries/logger/package-lock.json


+ 2 - 2
libraries/logger/package.json

@@ -7,7 +7,7 @@
     "url": "http://github.com/sharelatex/logger-sharelatex.git"
   },
   "license": "AGPL-3.0-only",
-  "version": "2.2.1",
+  "version": "2.3.0",
   "scripts": {
     "test": "mocha --grep=$MOCHA_GREP test/**/*.js",
     "format": "prettier-eslint $PWD'/**/*.js' --list-different",
@@ -18,9 +18,9 @@
   "dependencies": {
     "@google-cloud/logging-bunyan": "^3.1.0",
     "@overleaf/o-error": "^3.0.0",
+    "@sentry/node": "^6.13.2",
     "bunyan": "^1.8.14",
     "node-fetch": "^2.6.1",
-    "raven": "^2.6.4",
     "yn": "^4.0.0"
   },
   "devDependencies": {

+ 8 - 9
libraries/logger/test/unit/loggingManagerTests.js

@@ -25,9 +25,9 @@ describe('LoggingManager', function () {
       level: sinon.stub(),
       warn: sinon.stub()
     }
-    this.ravenClient = {
-      captureException: this.captureException,
-      once: sinon.stub().yields()
+    this.Sentry = {
+      init: sinon.stub(),
+      captureException: this.captureException
     }
     this.fetchResponse = {
       text: sinon.stub().resolves(''),
@@ -42,9 +42,6 @@ describe('LoggingManager', function () {
         res: sinon.stub()
       }
     }
-    this.Raven = {
-      Client: sinon.stub().returns(this.ravenClient)
-    }
     this.Fetch = sinon.stub().resolves(this.fetchResponse)
     this.Fs = {
       readFile: sinon.stub(),
@@ -63,7 +60,7 @@ describe('LoggingManager', function () {
       globals: { console, process },
       requires: {
         bunyan: this.Bunyan,
-        raven: this.Raven,
+        '@sentry/node': this.Sentry,
         'node-fetch': this.Fetch,
         fs: this.Fs,
         '@google-cloud/logging-bunyan': this.GCPLogging
@@ -452,7 +449,8 @@ describe('LoggingManager', function () {
             this.fetchResponse.text = sinon
               .stub()
               .resolves((this.start + 1000).toString())
-            this.logger.getTracingEndTime = this.logger.getTracingEndTimeMetadata
+            this.logger.getTracingEndTime =
+              this.logger.getTracingEndTimeMetadata
 
             await this.logger.checkLogLevel()
           })
@@ -471,7 +469,8 @@ describe('LoggingManager', function () {
               .stub()
               .resolves((this.start + 1000).toString())
             this.Fetch.fetch = sinon.stub().resolves(this.fetchResponse)
-            this.logger.getTracingEndTime = this.logger.getTracingEndTimeMetadata
+            this.logger.getTracingEndTime =
+              this.logger.getTracingEndTimeMetadata
 
             await this.logger.checkLogLevel()
           })

Некоторые файлы не были показаны из-за большого количества измененных файлов