Ver código fonte

Merge pull request #1923 from overleaf/ta-error-log-level

Reduce Log Level

GitOrigin-RevId: 63a8859e6b78cb0774a28069089f4bce73eb91ec
Timothée Alby 7 anos atrás
pai
commit
e73a5d9103
100 arquivos alterados com 328 adições e 280 exclusões
  1. 1 1
      services/web/app/src/Features/Analytics/AnalyticsManager.js
  2. 1 1
      services/web/app/src/Features/Announcements/AnnouncementsController.js
  3. 1 1
      services/web/app/src/Features/Announcements/AnnouncementsHandler.js
  4. 3 3
      services/web/app/src/Features/Authentication/AuthenticationController.js
  5. 1 1
      services/web/app/src/Features/BetaProgram/BetaProgramController.js
  6. 4 4
      services/web/app/src/Features/BetaProgram/BetaProgramHandler.js
  7. 1 1
      services/web/app/src/Features/BrandVariations/BrandVariationsHandler.js
  8. 1 1
      services/web/app/src/Features/Chat/ChatApiHandler.js
  9. 1 1
      services/web/app/src/Features/Collaborators/CollaboratorsController.js
  10. 2 5
      services/web/app/src/Features/Collaborators/CollaboratorsHandler.js
  11. 10 10
      services/web/app/src/Features/Collaborators/CollaboratorsInviteController.js
  12. 13 13
      services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.js
  13. 3 3
      services/web/app/src/Features/Compile/ClsiCookieManager.js
  14. 8 8
      services/web/app/src/Features/Compile/ClsiManager.js
  15. 1 1
      services/web/app/src/Features/Compile/CompileController.js
  16. 2 2
      services/web/app/src/Features/Contacts/ContactManager.js
  17. 14 11
      services/web/app/src/Features/Docstore/DocstoreManager.js
  18. 5 5
      services/web/app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js
  19. 3 3
      services/web/app/src/Features/Documents/DocumentController.js
  20. 1 1
      services/web/app/src/Features/Downloads/ProjectZipStreamManager.js
  21. 9 9
      services/web/app/src/Features/Editor/EditorController.js
  22. 1 1
      services/web/app/src/Features/Email/EmailSender.js
  23. 10 10
      services/web/app/src/Features/Exports/ExportsHandler.js
  24. 1 1
      services/web/app/src/Features/FileStore/FileHashManager.js
  25. 11 11
      services/web/app/src/Features/FileStore/FileStoreHandler.js
  26. 5 5
      services/web/app/src/Features/History/HistoryController.js
  27. 4 4
      services/web/app/src/Features/InactiveData/InactiveProjectManager.js
  28. 3 3
      services/web/app/src/Features/Institutions/InstitutionsAPI.js
  29. 2 2
      services/web/app/src/Features/Institutions/InstitutionsController.js
  30. 2 2
      services/web/app/src/Features/Metadata/MetaController.js
  31. 3 3
      services/web/app/src/Features/Newsletter/NewsletterManager.js
  32. 1 1
      services/web/app/src/Features/PasswordReset/PasswordResetController.js
  33. 3 3
      services/web/app/src/Features/Project/ProjectController.js
  34. 1 1
      services/web/app/src/Features/Project/ProjectCreationHandler.js
  35. 2 2
      services/web/app/src/Features/Project/ProjectDeleter.js
  36. 3 3
      services/web/app/src/Features/Project/ProjectDetailsHandler.js
  37. 5 5
      services/web/app/src/Features/Project/ProjectDuplicator.js
  38. 9 9
      services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js
  39. 10 10
      services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js
  40. 1 1
      services/web/app/src/Features/Project/ProjectGetter.js
  41. 2 2
      services/web/app/src/Features/Project/ProjectLocator.js
  42. 1 1
      services/web/app/src/Features/Project/ProjectOptionsHandler.js
  43. 1 1
      services/web/app/src/Features/Referal/ReferalAllocator.js
  44. 5 5
      services/web/app/src/Features/References/ReferencesHandler.js
  45. 1 1
      services/web/app/src/Features/Subscription/FeaturesUpdater.js
  46. 2 2
      services/web/app/src/Features/Subscription/LimitationsManager.js
  47. 17 17
      services/web/app/src/Features/Subscription/RecurlyWrapper.js
  48. 7 7
      services/web/app/src/Features/Subscription/SubscriptionController.js
  49. 1 1
      services/web/app/src/Features/Subscription/SubscriptionGroupController.js
  50. 1 1
      services/web/app/src/Features/Subscription/SubscriptionUpdater.js
  51. 5 5
      services/web/app/src/Features/SudoMode/SudoModeController.js
  52. 1 1
      services/web/app/src/Features/SudoMode/SudoModeMiddleware.js
  53. 2 2
      services/web/app/src/Features/Tags/TagsHandler.js
  54. 3 3
      services/web/app/src/Features/Templates/TemplatesManager.js
  55. 2 2
      services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js
  56. 2 2
      services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.js
  57. 5 5
      services/web/app/src/Features/TokenAccess/TokenAccessController.js
  58. 7 4
      services/web/app/src/Features/Uploads/ArchiveManager.js
  59. 1 1
      services/web/app/src/Features/Uploads/FileSystemImportManager.js
  60. 4 4
      services/web/app/src/Features/User/UserController.js
  61. 3 3
      services/web/app/src/Features/User/UserDeleter.js
  62. 1 1
      services/web/app/src/Features/User/UserPagesController.js
  63. 9 9
      services/web/app/src/Features/User/UserSessionsManager.js
  64. 9 6
      services/web/app/src/Features/User/UserUpdater.js
  65. 1 1
      services/web/app/src/Features/UserMembership/UserMembershipAuthorization.js
  66. 2 2
      services/web/app/src/Features/V1/V1Handler.js
  67. 3 3
      services/web/app/src/infrastructure/FileWriter.js
  68. 1 1
      services/web/app/src/infrastructure/GeoIpLookup.js
  69. 1 1
      services/web/app/src/infrastructure/LockManager.js
  70. 1 0
      services/web/test/unit/src/Authentication/AuthenticationControllerTests.js
  71. 1 0
      services/web/test/unit/src/BetaProgram/BetaProgramControllerTests.js
  72. 1 0
      services/web/test/unit/src/BetaProgram/BetaProgramHandlerTests.js
  73. 1 0
      services/web/test/unit/src/BrandVariations/BrandVariationsHandlerTests.js
  74. 5 1
      services/web/test/unit/src/Chat/ChatApiHandlerTests.js
  75. 1 1
      services/web/test/unit/src/Collaborators/CollaboratorsControllerTests.js
  76. 1 0
      services/web/test/unit/src/Collaborators/CollaboratorsHandlerTests.js
  77. 1 0
      services/web/test/unit/src/Collaborators/CollaboratorsInviteControllerTests.js
  78. 1 0
      services/web/test/unit/src/Collaborators/CollaboratorsInviteHandlerTests.js
  79. 3 2
      services/web/test/unit/src/Contact/ContactManagerTests.js
  80. 8 7
      services/web/test/unit/src/Docstore/DocstoreManagerTests.js
  81. 1 0
      services/web/test/unit/src/Documents/DocumentControllerTests.js
  82. 1 0
      services/web/test/unit/src/Exports/ExportsHandlerTests.js
  83. 1 0
      services/web/test/unit/src/FileStore/FileStoreHandlerTests.js
  84. 1 0
      services/web/test/unit/src/History/HistoryControllerTests.js
  85. 1 0
      services/web/test/unit/src/InactiveData/InactiveProjectManagerTests.js
  86. 1 1
      services/web/test/unit/src/Institutions/InstitutionsAPITests.js
  87. 1 1
      services/web/test/unit/src/Institutions/InstitutionsControllerTests.js
  88. 5 1
      services/web/test/unit/src/Metadata/MetaControllerTests.js
  89. 1 0
      services/web/test/unit/src/Project/ProjectDetailsHandlerTests.js
  90. 1 0
      services/web/test/unit/src/Project/ProjectDuplicatorTests.js
  91. 1 0
      services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js
  92. 2 1
      services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js
  93. 1 0
      services/web/test/unit/src/References/ReferencesHandlerTests.js
  94. 1 0
      services/web/test/unit/src/Subscription/RecurlyWrapperTests.js
  95. 2 1
      services/web/test/unit/src/Subscription/SubscriptionUpdaterTests.js
  96. 5 1
      services/web/test/unit/src/SudoMode/SudoModeControllerTests.js
  97. 5 1
      services/web/test/unit/src/SudoMode/SudoModeMiddlewareTests.js
  98. 1 0
      services/web/test/unit/src/Tags/TagsHandlerTests.js
  99. 5 1
      services/web/test/unit/src/TokenAccess/TokenAccessControllerTests.js
  100. 5 5
      services/web/test/unit/src/Uploads/ArchiveManagerTests.js

+ 1 - 1
services/web/app/src/Features/Analytics/AnalyticsManager.js

@@ -153,7 +153,7 @@ module.exports = {
     makeAnalyticsRequest(userId, opts, function(err, response, body) {
       if (err != null) {
         console.log(response, opts)
-        logger.err({ userId, err }, 'error getting last occurance of event')
+        logger.warn({ userId, err }, 'error getting last occurance of event')
         callback(err)
       } else {
         callback(null, body)

+ 1 - 1
services/web/app/src/Features/Announcements/AnnouncementsController.js

@@ -40,7 +40,7 @@ module.exports = {
       announcements
     ) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id: user._id },
           'unable to get unread announcements'
         )

+ 1 - 1
services/web/app/src/Features/Announcements/AnnouncementsHandler.js

@@ -61,7 +61,7 @@ module.exports = AnnouncementsHandler = {
       },
       function(err, results) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id },
             'error getting unread announcements'
           )

+ 3 - 3
services/web/app/src/Features/Authentication/AuthenticationController.js

@@ -51,7 +51,7 @@ const AuthenticationController = (module.exports = {
     }
     return req.login(user, function(err) {
       if (err != null) {
-        logger.err({ user_id: user._id, err }, 'error from req.login')
+        logger.warn({ user_id: user._id, err }, 'error from req.login')
         return callback(err)
       }
       // Regenerate the session to get a new sessionID (cookie value) to
@@ -59,7 +59,7 @@ const AuthenticationController = (module.exports = {
       const oldSession = req.session
       return req.session.destroy(function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { user_id: user._id, err },
             'error when trying to destroy old session'
           )
@@ -76,7 +76,7 @@ const AuthenticationController = (module.exports = {
         req.session.user = req.session.passport.user
         return req.session.save(function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { user_id: user._id },
               'error saving regenerated session after login'
             )

+ 1 - 1
services/web/app/src/Features/BetaProgram/BetaProgramController.js

@@ -51,7 +51,7 @@ module.exports = BetaProgramController = {
     logger.log({ user_id }, 'showing beta participation page for user')
     return UserGetter.getUser(user_id, function(err, user) {
       if (err) {
-        logger.err({ err, user_id }, 'error fetching user')
+        logger.warn({ err, user_id }, 'error fetching user')
         return next(err)
       }
       return res.render('beta_program/opt_in', {

+ 4 - 4
services/web/app/src/Features/BetaProgram/BetaProgramHandler.js

@@ -24,14 +24,14 @@ module.exports = BetaProgramHandler = {
     }
     return User.findById(user_id, function(err, user) {
       if (err) {
-        logger.err({ err, user_id }, 'problem adding user to beta')
+        logger.warn({ err, user_id }, 'problem adding user to beta')
         return callback(err)
       }
       metrics.inc('beta-program.opt-in')
       user.betaProgram = true
       return user.save(function(err) {
         if (err) {
-          logger.err({ err, user_id }, 'problem adding user to beta')
+          logger.warn({ err, user_id }, 'problem adding user to beta')
           return callback(err)
         }
         return callback(null)
@@ -45,14 +45,14 @@ module.exports = BetaProgramHandler = {
     }
     return User.findById(user_id, function(err, user) {
       if (err) {
-        logger.err({ err, user_id }, 'problem removing user from beta')
+        logger.warn({ err, user_id }, 'problem removing user from beta')
         return callback(err)
       }
       metrics.inc('beta-program.opt-out')
       user.betaProgram = false
       return user.save(function(err) {
         if (err) {
-          logger.err({ err, user_id }, 'problem removing user from beta')
+          logger.warn({ err, user_id }, 'problem removing user from beta')
           return callback(err)
         }
         return callback(null)

+ 1 - 1
services/web/app/src/Features/BrandVariations/BrandVariationsHandler.js

@@ -34,7 +34,7 @@ module.exports = BrandVariationsHandler = {
       },
       function(error, response, brandVariationDetails) {
         if (error != null) {
-          logger.err(
+          logger.warn(
             { brandVariationId, error },
             'error getting brand variation details'
           )

+ 1 - 1
services/web/app/src/Features/Chat/ChatApiHandler.js

@@ -32,7 +32,7 @@ module.exports = ChatApiHandler = {
           `chat api returned non-success code: ${response.statusCode}`
         )
         error.statusCode = response.statusCode
-        logger.error({ err: error, opts }, 'error sending request to chat api')
+        logger.warn({ err: error, opts }, 'error sending request to chat api')
         return callback(error)
       }
     })

+ 1 - 1
services/web/app/src/Features/Collaborators/CollaboratorsController.js

@@ -82,7 +82,7 @@ const CollaboratorsController = {
       members
     ) {
       if (err != null) {
-        logger.err({ projectId }, 'error getting members for project')
+        logger.warn({ projectId }, 'error getting members for project')
         return next(err)
       }
       res.json({ members })

+ 2 - 5
services/web/app/src/Features/Collaborators/CollaboratorsHandler.js

@@ -367,10 +367,7 @@ module.exports = CollaboratorsHandler = {
     }
     return Project.update(conditions, update, function(err) {
       if (err != null) {
-        logger.error(
-          { err },
-          'problem removing user from project collaberators'
-        )
+        logger.warn({ err }, 'problem removing user from project collaberators')
       }
       return callback(err)
     })
@@ -496,7 +493,7 @@ module.exports = CollaboratorsHandler = {
       projectId,
       function(error, rawMembers) {
         if (error != null) {
-          logger.err({ projectId, error }, 'error getting members for project')
+          logger.warn({ projectId, error }, 'error getting members for project')
           return callback(error)
         }
         const {

+ 10 - 10
services/web/app/src/Features/Collaborators/CollaboratorsInviteController.js

@@ -37,7 +37,7 @@ module.exports = CollaboratorsInviteController = {
       invites
     ) {
       if (err != null) {
-        logger.err({ projectId }, 'error getting invites for project')
+        logger.warn({ projectId }, 'error getting invites for project')
         return next(err)
       }
       return res.json({ invites })
@@ -144,7 +144,7 @@ module.exports = CollaboratorsInviteController = {
               email,
               function(err, shouldAllowInvite) {
                 if (err != null) {
-                  logger.err(
+                  logger.warn(
                     { err, email, projectId, sendingUserId },
                     'error checking if we can invite this email address'
                   )
@@ -167,7 +167,7 @@ module.exports = CollaboratorsInviteController = {
                   privileges,
                   function(err, invite) {
                     if (err != null) {
-                      logger.err(
+                      logger.warn(
                         { projectId, email, sendingUserId },
                         'error creating project invite'
                       )
@@ -202,7 +202,7 @@ module.exports = CollaboratorsInviteController = {
       inviteId,
       function(err) {
         if (err != null) {
-          logger.err({ projectId, inviteId }, 'error revoking invite')
+          logger.warn({ projectId, inviteId }, 'error revoking invite')
           return next(err)
         }
         EditorRealTimeController.emitToRoom(
@@ -235,7 +235,7 @@ module.exports = CollaboratorsInviteController = {
           inviteId,
           function(err) {
             if (err != null) {
-              logger.err({ projectId, inviteId }, 'error resending invite')
+              logger.warn({ projectId, inviteId }, 'error resending invite')
               return next(err)
             }
             return res.sendStatus(201)
@@ -262,7 +262,7 @@ module.exports = CollaboratorsInviteController = {
       projectId,
       function(err, isMember, _privilegeLevel) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, projectId },
             'error checking if user is member of project'
           )
@@ -281,7 +281,7 @@ module.exports = CollaboratorsInviteController = {
           token,
           function(err, invite) {
             if (err != null) {
-              logger.err({ projectId, token }, 'error getting invite by token')
+              logger.warn({ projectId, token }, 'error getting invite by token')
               return next(err)
             }
             // check if invite is gone, or otherwise non-existent
@@ -295,7 +295,7 @@ module.exports = CollaboratorsInviteController = {
               { email: 1, first_name: 1, last_name: 1 },
               function(err, owner) {
                 if (err != null) {
-                  logger.err({ err, projectId }, 'error getting project owner')
+                  logger.warn({ err, projectId }, 'error getting project owner')
                   return next(err)
                 }
                 if (owner == null) {
@@ -308,7 +308,7 @@ module.exports = CollaboratorsInviteController = {
                   project
                 ) {
                   if (err != null) {
-                    logger.err({ err, projectId }, 'error getting project')
+                    logger.warn({ err, projectId }, 'error getting project')
                     return next(err)
                   }
                   if (project == null) {
@@ -345,7 +345,7 @@ module.exports = CollaboratorsInviteController = {
       currentUser,
       function(err) {
         if (err != null) {
-          logger.err({ projectId, token }, 'error accepting invite by token')
+          logger.warn({ projectId, token }, 'error accepting invite by token')
           return next(err)
         }
         EditorRealTimeController.emitToRoom(

+ 13 - 13
services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.js

@@ -32,7 +32,7 @@ module.exports = CollaboratorsInviteHandler = {
     logger.log({ projectId }, 'fetching invites for project')
     return ProjectInvite.find({ projectId }, function(err, invites) {
       if (err != null) {
-        logger.err({ err, projectId }, 'error getting invites from mongo')
+        logger.warn({ err, projectId }, 'error getting invites from mongo')
         return callback(err)
       }
       logger.log(
@@ -50,7 +50,7 @@ module.exports = CollaboratorsInviteHandler = {
     logger.log({ projectId }, 'counting invites for project')
     return ProjectInvite.count({ projectId }, function(err, count) {
       if (err != null) {
-        logger.err({ err, projectId }, 'error getting invites from mongo')
+        logger.warn({ err, projectId }, 'error getting invites from mongo')
         return callback(err)
       }
       return callback(null, count)
@@ -67,7 +67,7 @@ module.exports = CollaboratorsInviteHandler = {
       existingUser
     ) {
       if (err != null) {
-        logger.err({ projectId, email }, 'error checking if user exists')
+        logger.warn({ projectId, email }, 'error checking if user exists')
         return callback(err)
       }
       if (existingUser == null) {
@@ -79,7 +79,7 @@ module.exports = CollaboratorsInviteHandler = {
         project
       ) {
         if (err != null) {
-          logger.err({ projectId, email }, 'error getting project')
+          logger.warn({ projectId, email }, 'error getting project')
           return callback(err)
         }
         if (project == null) {
@@ -153,7 +153,7 @@ module.exports = CollaboratorsInviteHandler = {
     )
     return Crypto.randomBytes(24, function(err, buffer) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, projectId, sendingUserId: sendingUser._id, email },
           'error generating random token'
         )
@@ -169,7 +169,7 @@ module.exports = CollaboratorsInviteHandler = {
       })
       return invite.save(function(err, invite) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, projectId, sendingUserId: sendingUser._id, email },
             'error saving token'
           )
@@ -201,7 +201,7 @@ module.exports = CollaboratorsInviteHandler = {
     logger.log({ projectId, inviteId }, 'removing invite')
     return ProjectInvite.remove({ projectId, _id: inviteId }, function(err) {
       if (err != null) {
-        logger.err({ err, projectId, inviteId }, 'error removing invite')
+        logger.warn({ err, projectId, inviteId }, 'error removing invite')
         return callback(err)
       }
       CollaboratorsInviteHandler._tryCancelInviteNotification(
@@ -222,7 +222,7 @@ module.exports = CollaboratorsInviteHandler = {
       invite
     ) {
       if (err != null) {
-        logger.err({ err, projectId, inviteId }, 'error finding invite')
+        logger.warn({ err, projectId, inviteId }, 'error finding invite')
         return callback(err)
       }
       if (invite == null) {
@@ -238,7 +238,7 @@ module.exports = CollaboratorsInviteHandler = {
         invite,
         function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { projectId, inviteId },
               'error resending invite messages'
             )
@@ -260,7 +260,7 @@ module.exports = CollaboratorsInviteHandler = {
       invite
     ) {
       if (err != null) {
-        logger.err({ err, projectId }, 'error fetching invite')
+        logger.warn({ err, projectId }, 'error fetching invite')
         return callback(err)
       }
       if (invite == null) {
@@ -281,7 +281,7 @@ module.exports = CollaboratorsInviteHandler = {
       tokenString,
       function(err, invite) {
         if (err != null) {
-          logger.err({ err, projectId, tokenString }, 'error finding invite')
+          logger.warn({ err, projectId, tokenString }, 'error finding invite')
           return callback(err)
         }
         if (!invite) {
@@ -300,7 +300,7 @@ module.exports = CollaboratorsInviteHandler = {
           invite.privileges,
           function(err) {
             if (err != null) {
-              logger.err(
+              logger.warn(
                 { err, projectId, inviteId, userId: user._id },
                 'error adding user to project'
               )
@@ -310,7 +310,7 @@ module.exports = CollaboratorsInviteHandler = {
             logger.log({ projectId, inviteId }, 'removing invite')
             return ProjectInvite.remove({ _id: inviteId }, function(err) {
               if (err != null) {
-                logger.err(
+                logger.warn(
                   { err, projectId, inviteId },
                   'error removing invite'
                 )

+ 3 - 3
services/web/app/src/Features/Compile/ClsiCookieManager.js

@@ -59,7 +59,7 @@ module.exports = function(backendGroup) {
       const url = `${Settings.apis.clsi.url}/project/${project_id}/status`
       return request.get(url, (err, res, body) => {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id },
             'error getting initial server id for project'
           )
@@ -67,7 +67,7 @@ module.exports = function(backendGroup) {
         }
         return this.setServerId(project_id, res, function(err, serverId) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, project_id },
               'error setting server id via populate request'
             )
@@ -139,7 +139,7 @@ module.exports = function(backendGroup) {
       }
       return this._getServerId(project_id, (err, serverId) => {
         if (err != null) {
-          logger.err({ err, project_id }, 'error getting server id')
+          logger.warn({ err, project_id }, 'error getting server id')
           return callback(err)
         }
         const serverCookie = request.cookie(

+ 8 - 8
services/web/app/src/Features/Compile/ClsiManager.js

@@ -202,7 +202,7 @@ module.exports = ClsiManager = {
       req.compile != null ? req.compile.resources : undefined,
       function(err, validationProblems) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             err,
             project_id,
             'could not check resources for potential problems before sending to clsi'
@@ -229,7 +229,7 @@ module.exports = ClsiManager = {
           options.compileGroup,
           function(error, response) {
             if (error != null) {
-              logger.err(
+              logger.warn(
                 { err: error, project_id },
                 'error sending request to clsi'
               )
@@ -255,7 +255,7 @@ module.exports = ClsiManager = {
               clsiServerId
             ) {
               if (err != null) {
-                logger.err({ err, project_id }, 'error getting server id')
+                logger.warn({ err, project_id }, 'error getting server id')
                 return callback(err)
               }
               const outputFiles = ClsiManager._parseOutputFiles(
@@ -288,7 +288,7 @@ module.exports = ClsiManager = {
           const startTime = new Date()
           return ClsiCookieManager.getCookieJar(project_id, function(err, jar) {
             if (err != null) {
-              logger.err({ err }, 'error getting cookie jar for clsi request')
+              logger.warn({ err }, 'error getting cookie jar for clsi request')
               return callback(err)
             }
             opts.jar = jar
@@ -301,7 +301,7 @@ module.exports = ClsiManager = {
                 }`
               )
               if (err != null) {
-                logger.err(
+                logger.warn(
                   { err, project_id, url: opts != null ? opts.url : undefined },
                   'error making request to clsi'
                 )
@@ -404,7 +404,7 @@ module.exports = ClsiManager = {
       jar
     ) {
       if (err != null) {
-        logger.err({ err }, 'error getting cookie jar for clsi request')
+        logger.warn({ err }, 'error getting cookie jar for clsi request')
         return callback(err)
       }
       opts.jar = jar
@@ -482,7 +482,7 @@ module.exports = ClsiManager = {
         error = new Error(
           `CLSI returned non-success code: ${response.statusCode}`
         )
-        logger.error({ err: error, project_id }, 'CLSI returned failure code')
+        logger.warn({ err: error, project_id }, 'CLSI returned failure code')
         return callback(error, body)
       }
     })
@@ -907,7 +907,7 @@ module.exports = ClsiManager = {
           error = new Error(
             `CLSI returned non-success code: ${response.statusCode}`
           )
-          logger.error({ err: error, project_id }, 'CLSI returned failure code')
+          logger.warn({ err: error, project_id }, 'CLSI returned failure code')
           return callback(error, body)
         }
       })

+ 1 - 1
services/web/app/src/Features/Compile/CompileController.js

@@ -482,7 +482,7 @@ module.exports = CompileController = {
     return ClsiCookieManager.getCookieJar(project_id, function(err, jar) {
       let qs
       if (err != null) {
-        logger.err({ err }, 'error getting cookie jar for clsi request')
+        logger.warn({ err }, 'error getting cookie jar for clsi request')
         return callback(err)
       }
       // expand any url parameter passed in as {url:..., qs:...}

+ 2 - 2
services/web/app/src/Features/Contacts/ContactManager.js

@@ -47,7 +47,7 @@ module.exports = ContactManager = {
           error = new Error(
             `contacts api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, user_id },
             'error getting contacts for user'
           )
@@ -84,7 +84,7 @@ module.exports = ContactManager = {
           error = new Error(
             `contacts api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, user_id, contact_id },
             'error adding contact for user'
           )

+ 14 - 11
services/web/app/src/Features/Docstore/DocstoreManager.js

@@ -35,7 +35,7 @@ module.exports = DocstoreManager = {
         return callback(null)
       } else if (res.statusCode === 404) {
         error = new Errors.NotFoundError('tried to delete doc not in docstore')
-        logger.error(
+        logger.warn(
           { err: error, project_id, doc_id },
           'tried to delete doc not in docstore'
         )
@@ -44,7 +44,7 @@ module.exports = DocstoreManager = {
         error = new Error(
           `docstore api responded with non-success code: ${res.statusCode}`
         )
-        logger.error(
+        logger.warn(
           { err: error, project_id, doc_id },
           'error deleting doc in docstore'
         )
@@ -74,7 +74,7 @@ module.exports = DocstoreManager = {
           error = new Error(
             `docstore api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, project_id },
             'error getting all docs from docstore'
           )
@@ -108,7 +108,7 @@ module.exports = DocstoreManager = {
           error = new Error(
             `docstore api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, project_id },
             'error getting all doc ranges from docstore'
           )
@@ -153,7 +153,7 @@ module.exports = DocstoreManager = {
           return callback(null, doc.lines, doc.rev, doc.version, doc.ranges)
         } else if (res.statusCode === 404) {
           error = new Errors.NotFoundError('doc not found in docstore')
-          logger.error(
+          logger.warn(
             { err: error, project_id, doc_id },
             'doc not found in docstore'
           )
@@ -162,7 +162,7 @@ module.exports = DocstoreManager = {
           error = new Error(
             `docstore api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, project_id, doc_id },
             'error getting doc from docstore'
           )
@@ -203,7 +203,7 @@ module.exports = DocstoreManager = {
           error = new Error(
             `docstore api responded with non-success code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { err: error, project_id, doc_id },
             'error updating doc in docstore'
           )
@@ -218,7 +218,7 @@ module.exports = DocstoreManager = {
     logger.log({ project_id }, 'archiving project in docstore')
     return request.post(url, function(err, res, docs) {
       if (err != null) {
-        logger.err({ err, project_id }, 'error archving project in docstore')
+        logger.warn({ err, project_id }, 'error archving project in docstore')
         return callback(err)
       }
       if (res.statusCode >= 200 && res.statusCode < 300) {
@@ -227,7 +227,7 @@ module.exports = DocstoreManager = {
         const error = new Error(
           `docstore api responded with non-success code: ${res.statusCode}`
         )
-        logger.err(
+        logger.warn(
           { err: error, project_id },
           'error archiving project in docstore'
         )
@@ -241,7 +241,10 @@ module.exports = DocstoreManager = {
     logger.log({ project_id }, 'unarchiving project in docstore')
     return request.post(url, function(err, res, docs) {
       if (err != null) {
-        logger.err({ err, project_id }, 'error unarchiving project in docstore')
+        logger.warn(
+          { err, project_id },
+          'error unarchiving project in docstore'
+        )
         return callback(err)
       }
       if (res.statusCode >= 200 && res.statusCode < 300) {
@@ -250,7 +253,7 @@ module.exports = DocstoreManager = {
         const error = new Error(
           `docstore api responded with non-success code: ${res.statusCode}`
         )
-        logger.err(
+        logger.warn(
           { err: error, project_id },
           'error unarchiving project in docstore'
         )

+ 5 - 5
services/web/app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js

@@ -164,7 +164,7 @@ module.exports = DocumentUpdaterHandler = {
     return request.post(url, function(error, res, body) {
       timer.done()
       if (error != null) {
-        logger.error(
+        logger.warn(
           { err: error, url, project_id },
           'error getting project docs from doc updater'
         )
@@ -192,7 +192,7 @@ module.exports = DocumentUpdaterHandler = {
         }
         return callback(null, docs)
       } else {
-        logger.error(
+        logger.warn(
           { project_id, url },
           `doc updater returned a non-success status code: ${res.statusCode}`
         )
@@ -320,7 +320,7 @@ module.exports = DocumentUpdaterHandler = {
     }
 
     if (projectVersion == null) {
-      logger.error(
+      logger.warn(
         { project_id, changes, projectVersion },
         'did not receive project version in changes'
       )
@@ -357,7 +357,7 @@ module.exports = DocumentUpdaterHandler = {
       function(error, res, body) {
         timer.done()
         if (error != null) {
-          logger.error(
+          logger.warn(
             { error, project_id },
             'error making request to document updater'
           )
@@ -368,7 +368,7 @@ module.exports = DocumentUpdaterHandler = {
           error = new Error(
             `document updater returned a failure status code: ${res.statusCode}`
           )
-          logger.error(
+          logger.warn(
             { error, project_id },
             `document updater returned failure status code: ${res.statusCode}`
           )

+ 3 - 3
services/web/app/src/Features/Documents/DocumentController.js

@@ -45,7 +45,7 @@ module.exports = {
           { project, element_id: doc_id, type: 'doc' },
           function(error, doc, path) {
             if (error != null) {
-              logger.err(
+              logger.warn(
                 { err: error, doc_id, project_id },
                 'error finding element for getDocument'
               )
@@ -59,7 +59,7 @@ module.exports = {
               ranges
             ) {
               if (error != null) {
-                logger.err(
+                logger.warn(
                   { err: error, doc_id, project_id },
                   'error finding doc contents for getDocument'
                 )
@@ -112,7 +112,7 @@ module.exports = {
       lastUpdatedBy,
       function(error) {
         if (error != null) {
-          logger.err(
+          logger.warn(
             { err: error, doc_id, project_id },
             'error finding element for getDocument'
           )

+ 1 - 1
services/web/app/src/Features/Downloads/ProjectZipStreamManager.js

@@ -159,7 +159,7 @@ module.exports = ProjectZipStreamManager = {
               stream
             ) {
               if (error != null) {
-                logger.err(
+                logger.warn(
                   { err: error, project_id, file_id: file._id },
                   'something went wrong adding file to zip archive'
                 )

+ 9 - 9
services/web/app/src/Features/Editor/EditorController.js

@@ -72,7 +72,7 @@ module.exports = EditorController = {
       user_id,
       (err, doc, folder_id) => {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, docName },
             'error adding doc without lock'
           )
@@ -126,7 +126,7 @@ module.exports = EditorController = {
       user_id,
       (err, fileRef, folder_id) => {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, folder_id, fileName },
             'error adding file without lock'
           )
@@ -334,7 +334,7 @@ module.exports = EditorController = {
       folderName,
       (err, folder, folder_id) => {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, folder_id, folderName, source },
             'could not add folder'
           )
@@ -365,7 +365,7 @@ module.exports = EditorController = {
       path,
       (err, newFolders, lastFolder) => {
         if (err != null) {
-          logger.err({ err, project_id, path }, 'could not mkdirp')
+          logger.warn({ err, project_id, path }, 'could not mkdirp')
           return callback(err)
         }
 
@@ -399,7 +399,7 @@ module.exports = EditorController = {
       userId,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, entity_id, entityType },
             'could not delete entity'
           )
@@ -458,7 +458,7 @@ module.exports = EditorController = {
       description,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, description },
             'something went wrong setting the project description'
           )
@@ -498,7 +498,7 @@ module.exports = EditorController = {
       userId,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, entity_id, entityType, newName },
             'error renaming entity'
           )
@@ -530,7 +530,7 @@ module.exports = EditorController = {
       userId,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, entity_id, folder_id },
             'error moving entity'
           )
@@ -555,7 +555,7 @@ module.exports = EditorController = {
       err
     ) {
       if (err != null) {
-        logger.err({ err, project_id, newName }, 'error renaming project')
+        logger.warn({ err, project_id, newName }, 'error renaming project')
         return callback(err)
       }
       EditorRealTimeController.emitToRoom(

+ 1 - 1
services/web/app/src/Features/Email/EmailSender.js

@@ -190,7 +190,7 @@ module.exports = {
       }
       return client.sendMail(options, function(err, res) {
         if (err != null) {
-          logger.err({ err }, 'error sending message')
+          logger.warn({ err }, 'error sending message')
           err = new Error('Cannot send email')
         } else {
           logger.log(`Message sent to ${options.to}`)

+ 10 - 10
services/web/app/src/Features/Exports/ExportsHandler.js

@@ -103,7 +103,7 @@ module.exports = ExportsHandler = self = {
 
     return async.auto(jobs, function(err, results) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, project_id, user_id, brand_variation_id },
           'error building project export'
         )
@@ -113,7 +113,7 @@ module.exports = ExportsHandler = self = {
       const { project, rootDoc, user, historyVersion } = results
       if (rootDoc[1] == null) {
         err = new Error('cannot export project without root doc')
-        logger.err({ err, project_id })
+        logger.warn({ err, project_id })
         return callback(err)
       }
 
@@ -174,7 +174,7 @@ module.exports = ExportsHandler = self = {
       },
       function(err, res, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, export: export_data },
             'error making request to v1 export'
           )
@@ -182,7 +182,7 @@ module.exports = ExportsHandler = self = {
         } else if (res.statusCode >= 200 && res.statusCode < 300) {
           return callback(null, body.exportId)
         } else {
-          logger.err(
+          logger.warn(
             { export: export_data },
             `v1 export returned failure; forwarding: ${body}`
           )
@@ -206,7 +206,7 @@ module.exports = ExportsHandler = self = {
       },
       function(err, res, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id },
             'error making request to project history'
           )
@@ -219,7 +219,7 @@ module.exports = ExportsHandler = self = {
               res.statusCode
             }`
           )
-          logger.err(
+          logger.warn(
             { err, project_id },
             `project history version returned failure status code: ${
               res.statusCode
@@ -242,7 +242,7 @@ module.exports = ExportsHandler = self = {
       },
       function(err, res, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, export: export_id },
             'error making request to v1 export'
           )
@@ -253,7 +253,7 @@ module.exports = ExportsHandler = self = {
           err = new Error(
             `v1 export returned a failure status code: ${res.statusCode}`
           )
-          logger.err(
+          logger.warn(
             { err, export: export_id },
             `v1 export returned failure status code: ${res.statusCode}`
           )
@@ -276,7 +276,7 @@ module.exports = ExportsHandler = self = {
       },
       function(err, res, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, export: export_id },
             'error making request to v1 export'
           )
@@ -287,7 +287,7 @@ module.exports = ExportsHandler = self = {
           err = new Error(
             `v1 export returned a failure status code: ${res.statusCode}`
           )
-          logger.err(
+          logger.warn(
             { err, export: export_id },
             `v1 export zip fetch returned failure status code: ${
               res.statusCode

+ 1 - 1
services/web/app/src/Features/FileStore/FileHashManager.js

@@ -42,7 +42,7 @@ module.exports = FileHashManager = {
 
       const input = fs.createReadStream(filePath)
       input.on('error', function(err) {
-        logger.err({ filePath, err }, 'error opening file in computeHash')
+        logger.warn({ filePath, err }, 'error opening file in computeHash')
         return callback(err)
       })
 

+ 11 - 11
services/web/app/src/Features/FileStore/FileStoreHandler.js

@@ -17,11 +17,11 @@ const FileStoreHandler = {
   uploadFileFromDisk(projectId, fileArgs, fsPath, callback) {
     fs.lstat(fsPath, function(err, stat) {
       if (err) {
-        logger.err({ err, projectId, fileArgs, fsPath }, 'error stating file')
+        logger.warn({ err, projectId, fileArgs, fsPath }, 'error stating file')
         callback(err)
       }
       if (!stat) {
-        logger.err(
+        logger.warn(
           { projectId, fileArgs, fsPath },
           'stat is not available, can not check file from disk'
         )
@@ -45,7 +45,7 @@ const FileStoreHandler = {
           ),
         function(err, result) {
           if (err) {
-            logger.err(
+            logger.warn(
               { err, projectId, fileArgs },
               'Error uploading file, retries failed'
             )
@@ -72,7 +72,7 @@ const FileStoreHandler = {
       )
       const readStream = fs.createReadStream(fsPath)
       readStream.on('error', function(err) {
-        logger.err(
+        logger.warn(
           { err, projectId, fileId, fsPath },
           'something went wrong on the read stream of uploadFileFromDisk'
         )
@@ -90,7 +90,7 @@ const FileStoreHandler = {
         }
         const writeStream = request(opts)
         writeStream.on('error', function(err) {
-          logger.err(
+          logger.warn(
             { err, projectId, fileId, fsPath },
             'something went wrong on the write stream of uploadFileFromDisk'
           )
@@ -103,7 +103,7 @@ const FileStoreHandler = {
                 response.statusCode
               }`
             )
-            logger.err(
+            logger.warn(
               { err, statusCode: response.statusCode },
               'error uploading to filestore'
             )
@@ -151,7 +151,7 @@ const FileStoreHandler = {
     const url = this._buildUrl(projectId, fileId)
     request.head(url, (err, res) => {
       if (err) {
-        logger.err(
+        logger.warn(
           { err, projectId, fileId },
           'failed to get file size from filestore'
         )
@@ -161,7 +161,7 @@ const FileStoreHandler = {
         return callback(new Errors.NotFoundError('file not found in filestore'))
       }
       if (res.statusCode !== 200) {
-        logger.err(
+        logger.warn(
           { projectId, fileId, statusCode: res.statusCode },
           'filestore returned non-200 response'
         )
@@ -181,7 +181,7 @@ const FileStoreHandler = {
     }
     return request(opts, function(err, response) {
       if (err) {
-        logger.err(
+        logger.warn(
           { err, projectId, fileId },
           'something went wrong deleting file from filestore'
         )
@@ -208,7 +208,7 @@ const FileStoreHandler = {
     }
     return request(opts, function(err, response) {
       if (err) {
-        logger.err(
+        logger.warn(
           { err, oldProjectId, oldFileId, newProjectId, newFileId },
           'something went wrong telling filestore api to copy file'
         )
@@ -220,7 +220,7 @@ const FileStoreHandler = {
         err = new Error(
           `non-ok response from filestore for copyFile: ${response.statusCode}`
         )
-        logger.err(
+        logger.warn(
           { uri: opts.uri, statusCode: response.statusCode },
           'error uploading to filestore'
         )

+ 5 - 5
services/web/app/src/Features/History/HistoryController.js

@@ -82,7 +82,7 @@ module.exports = HistoryController = {
     })
     getReq.pipe(res)
     return getReq.on('error', function(error) {
-      logger.error({ url, err: error }, 'history API error')
+      logger.warn({ url, err: error }, 'history API error')
       return next(error)
     })
   },
@@ -267,7 +267,7 @@ module.exports = HistoryController = {
         error = new Error(
           `history api responded with non-success code: ${response.statusCode}`
         )
-        logger.error(
+        logger.warn(
           { err: error },
           `project-history api responded with non-success code: ${
             response.statusCode
@@ -327,7 +327,7 @@ module.exports = HistoryController = {
     }
     return request(options, function(err, response, body) {
       if (err) {
-        logger.error({ err, v1_project_id, version }, 'history API error')
+        logger.warn({ err, v1_project_id, version }, 'history API error')
         return next(err)
       }
       let retryAttempt = 0
@@ -362,7 +362,7 @@ module.exports = HistoryController = {
               return callback()
             })
             return getReq.on('error', function(err) {
-              logger.error(
+              logger.warn(
                 { err, v1_project_id, version, retryAttempt },
                 'history s3 download error'
               )
@@ -371,7 +371,7 @@ module.exports = HistoryController = {
           }, retryDelay),
         function(err) {
           if (err) {
-            logger.error(
+            logger.warn(
               { err, v1_project_id, version, retryAttempt },
               'history s3 download failed'
             )

+ 4 - 4
services/web/app/src/Features/InactiveData/InactiveProjectManager.js

@@ -27,7 +27,7 @@ module.exports = InactiveProjectManager = {
       project
     ) {
       if (err != null) {
-        logger.err({ err, project_id }, 'error getting project')
+        logger.warn({ err, project_id }, 'error getting project')
         return callback(err)
       }
       logger.log(
@@ -41,7 +41,7 @@ module.exports = InactiveProjectManager = {
 
       return DocstoreManager.unarchiveProject(project_id, function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id },
             'error reactivating project in docstore'
           )
@@ -84,7 +84,7 @@ module.exports = InactiveProjectManager = {
         )
         return async.series(jobs, function(err) {
           if (err != null) {
-            logger.err({ err }, 'error deactivating projects')
+            logger.warn({ err }, 'error deactivating projects')
           }
           return callback(err, projects)
         })
@@ -99,7 +99,7 @@ module.exports = InactiveProjectManager = {
     ]
     return async.series(jobs, function(err) {
       if (err != null) {
-        logger.err({ err, project_id }, 'error deactivating project')
+        logger.warn({ err, project_id }, 'error deactivating project')
       }
       return callback(err)
     })

+ 3 - 3
services/web/app/src/Features/Institutions/InstitutionsAPI.js

@@ -83,17 +83,17 @@ module.exports = InstitutionsAPI = {
           return callback(error, body)
         }
         // have notifications delete any ip matcher notifications for this university
-        logger.log(university)
         return NotificationsBuilder.ipMatcherAffiliation(userId).read(
           university != null ? university.id : undefined,
           function(err) {
             if (err) {
+              // log and ignore error
               logger.err(
                 { err },
                 'Something went wrong marking ip notifications read'
               )
             }
-            return callback(error, body)
+            return callback(null, body)
           }
         )
       }
@@ -190,7 +190,7 @@ var makeAffiliationRequest = function(requestOptions, callback) {
           }`
         }
 
-        logger.err(
+        logger.warn(
           { path: requestOptions.path, body: requestOptions.body },
           errorMessage
         )

+ 2 - 2
services/web/app/src/Features/Institutions/InstitutionsController.js

@@ -45,7 +45,7 @@ var affiliateUsers = function(hostname, callback) {
     { _id: 1, emails: 1 },
     function(error, users) {
       if (error != null) {
-        logger.err({ error }, 'problem fetching users by hostname')
+        logger.warn({ error }, 'problem fetching users by hostname')
         return callback(error)
       }
 
@@ -81,7 +81,7 @@ var affiliateUserByReversedHostname = function(
         { confirmedAt: email.confirmedAt },
         error => {
           if (error != null) {
-            logger.err(
+            logger.warn(
               { error },
               'problem adding affiliation while confirming hostname'
             )

+ 2 - 2
services/web/app/src/Features/Metadata/MetaController.js

@@ -25,7 +25,7 @@ module.exports = MetaController = {
       projectMeta
     ) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { project_id, err },
           '[MetaController] error getting all labels from project'
         )
@@ -44,7 +44,7 @@ module.exports = MetaController = {
       docMeta
     ) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { project_id, doc_id, err },
           '[MetaController] error getting labels from doc'
         )

+ 3 - 3
services/web/app/src/Features/Newsletter/NewsletterManager.js

@@ -47,7 +47,7 @@ module.exports = {
     )
     return mailchimp.request(options, function(err) {
       if (err != null) {
-        logger.err({ err, user }, 'error subscribing person to newsletter')
+        logger.warn({ err, user }, 'error subscribing person to newsletter')
       } else {
         logger.log({ user }, 'finished subscribing user to the newsletter')
       }
@@ -66,7 +66,7 @@ module.exports = {
     const options = buildOptions(user, false)
     return mailchimp.request(options, function(err) {
       if (err != null) {
-        logger.err({ err, user }, 'error unsubscribing person to newsletter')
+        logger.warn({ err, user }, 'error unsubscribing person to newsletter')
       } else {
         logger.log({ user }, 'finished unsubscribing user to the newsletter')
       }
@@ -126,7 +126,7 @@ module.exports = {
         )
         return callback()
       } else if (err != null) {
-        logger.err(
+        logger.warn(
           { err, oldEmail, newEmail },
           'error changing email in newsletter'
         )

+ 1 - 1
services/web/app/src/Features/PasswordReset/PasswordResetController.js

@@ -143,7 +143,7 @@ module.exports = {
                       user,
                       function(err) {
                         if (err != null) {
-                          logger.err(
+                          logger.warn(
                             { err, email: user.email },
                             'Error setting up session after setting password'
                           )

+ 3 - 3
services/web/app/src/Features/Project/ProjectController.js

@@ -189,7 +189,7 @@ module.exports = ProjectController = {
       projectName,
       function(err, project) {
         if (err != null) {
-          logger.error(
+          logger.warn(
             { err, project_id, user_id: currentUser._id },
             'error cloning project'
           )
@@ -358,7 +358,7 @@ module.exports = ProjectController = {
       },
       function(err, results) {
         if (err != null) {
-          logger.err({ err }, 'error getting data for project list page')
+          logger.warn({ err }, 'error getting data for project list page')
           return next(err)
         }
         logger.log({ results, user_id }, 'rendering project list')
@@ -595,7 +595,7 @@ module.exports = ProjectController = {
       },
       function(err, results) {
         if (err != null) {
-          logger.err({ err }, 'error getting details for project page')
+          logger.warn({ err }, 'error getting details for project page')
           return next(err)
         }
         const { project } = results

+ 1 - 1
services/web/app/src/Features/Project/ProjectCreationHandler.js

@@ -270,7 +270,7 @@ const ProjectCreationHandler = {
       owner_id,
       function(error, doc) {
         if (error != null) {
-          logger.err(
+          logger.warn(
             { err: error },
             'error adding root doc when creating project'
           )

+ 2 - 2
services/web/app/src/Features/Project/ProjectDeleter.js

@@ -144,7 +144,7 @@ const ProjectDeleter = {
       ],
       function(err, deletedProject) {
         if (err != null) {
-          logger.err({ err }, 'problem deleting project')
+          logger.warn({ err }, 'problem deleting project')
           return callback(err)
         }
         logger.log(
@@ -166,7 +166,7 @@ const ProjectDeleter = {
       { $set: { archived: true } },
       function(err) {
         if (err != null) {
-          logger.err({ err }, 'problem archived project')
+          logger.warn({ err }, 'problem archived project')
           return callback(err)
         }
         logger.log(

+ 3 - 3
services/web/app/src/Features/Project/ProjectDetailsHandler.js

@@ -43,7 +43,7 @@ const ProjectDetailsHandler = {
       },
       function(err, project) {
         if (err != null) {
-          logger.err({ err, project_id }, 'error getting project')
+          logger.warn({ err, project_id }, 'error getting project')
           return callback(err)
         }
         if (project == null) {
@@ -91,7 +91,7 @@ const ProjectDetailsHandler = {
     )
     return Project.update(conditions, update, function(err) {
       if (err != null) {
-        logger.err({ err }, 'something went wrong setting project description')
+        logger.warn({ err }, 'something went wrong setting project description')
       }
       return callback(err)
     })
@@ -184,7 +184,7 @@ const ProjectDetailsHandler = {
         project
       ) {
         if (err != null || project == null) {
-          logger.err(
+          logger.warn(
             { err, project_id },
             'error getting project or could not find it todo project rename'
           )

+ 5 - 5
services/web/app/src/Features/Project/ProjectDuplicator.js

@@ -53,7 +53,7 @@ module.exports = ProjectDuplicator = {
             owner_id,
             function(err, newDoc) {
               if (err != null) {
-                logger.err({ err }, 'error copying doc')
+                logger.warn({ err }, 'error copying doc')
                 return callback(err)
               }
               if (
@@ -135,7 +135,7 @@ module.exports = ProjectDuplicator = {
       { rootFolder: true, name: true },
       function(err, newProject) {
         if (err != null) {
-          logger.err({ project_id: newProject_id }, 'could not get project')
+          logger.warn({ project_id: newProject_id }, 'could not get project')
           return callback(err)
         }
 
@@ -226,7 +226,7 @@ module.exports = ProjectDuplicator = {
     // Get the contents of the original project first
     return async.series(jobs, function(err, results) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, originalProject_id },
           'error duplicating project reading original project'
         )
@@ -247,7 +247,7 @@ module.exports = ProjectDuplicator = {
         newProjectName,
         function(err, newProject) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, originalProject_id },
               'error duplicating project when creating new project'
             )
@@ -279,7 +279,7 @@ module.exports = ProjectDuplicator = {
           // Copy the contents of the original project into the new project
           return async.series(copyJobs, function(err) {
             if (err != null) {
-              logger.err(
+              logger.warn(
                 {
                   err,
                   originalProject_id,

+ 9 - 9
services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js

@@ -66,7 +66,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
       { rootFolder: true, name: true, overleaf: true },
       function(err, project) {
         if (err != null) {
-          logger.err({ project_id, err }, 'error getting project for add doc')
+          logger.warn({ project_id, err }, 'error getting project for add doc')
           return callback(err)
         }
         logger.log(
@@ -89,7 +89,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
       { rootFolder: true, name: true, overleaf: true },
       function(err, project) {
         if (err != null) {
-          logger.err({ project_id, err }, 'error getting project for add file')
+          logger.warn({ project_id, err }, 'error getting project for add file')
           return callback(err)
         }
         logger.log(
@@ -336,7 +336,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
                                   oldFiles.length !== newFiles.length ||
                                   oldDocs.length !== newDocs.length
                                 ) {
-                                  logger.err(
+                                  logger.warn(
                                     {
                                       project_id,
                                       oldDocs: oldDocs.length,
@@ -509,7 +509,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
       { rootFolder: true, name: true, overleaf: true },
       function(err, project) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { project_id, err },
             'error getting project for add folder'
           )
@@ -531,7 +531,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
               'folder',
               err => {
                 if (err != null) {
-                  logger.err(
+                  logger.warn(
                     { err, project_id: project._id },
                     'error adding folder to project'
                   )
@@ -622,7 +622,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
 
     if (element == null || element._id == null) {
       e = new Error('no element passed to be inserted')
-      logger.err(
+      logger.warn(
         { project_id: project._id, folder_id, element, type },
         'failed trying to insert element as it was null'
       )
@@ -634,7 +634,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
     // check if name is allowed
     if (!SafePath.isCleanFilename(element.name)) {
       e = new Errors.InvalidNameError('invalid element name')
-      logger.err(
+      logger.warn(
         { project_id: project._id, folder_id, element, type },
         'failed trying to insert element as name was invalid'
       )
@@ -658,7 +658,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
       { project, element_id: folder_id, type: 'folders' },
       (err, folder, path) => {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id: project._id, folder_id, type, element },
             'error finding folder for _putElement'
           )
@@ -706,7 +706,7 @@ module.exports = ProjectEntityMongoUpdateHandler = self = {
             { new: true },
             function(err, newProject) {
               if (err != null) {
-                logger.err(
+                logger.warn(
                   { err, project_id: project._id },
                   'error saving in putElement project'
                 )

+ 10 - 10
services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js

@@ -128,7 +128,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
               fileRef._id,
               function(err, fileStoreUrl) {
                 if (err != null) {
-                  logger.err(
+                  logger.warn(
                     {
                       err,
                       project_id,
@@ -182,7 +182,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
         'file',
         function(err, result, newProject) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, project_id, folder_id },
               'error putting element as part of copy'
             )
@@ -286,7 +286,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
 
           if (doc == null) {
             // Do not allow an update to a doc which has never exist on this project
-            logger.error(
+            logger.warn(
               { doc_id, project_id, lines },
               'doc not found while updating doc lines'
             )
@@ -305,7 +305,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
             ranges,
             function(err, modified, rev) {
               if (err != null) {
-                logger.error(
+                logger.warn(
                   { err, doc_id, project_id, lines },
                   'error sending doc to docstore'
                 )
@@ -379,7 +379,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
       doc,
       function(err, result, project) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             {
               err,
               project_id,
@@ -546,7 +546,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
       fsPath,
       function(err, fileStoreUrl, fileRef) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, folder_id, file_name: fileName, fileRef },
             'error uploading image to s3'
           )
@@ -567,7 +567,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
       fileRef,
       function(err, result, project) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, project_id, folder_id, file_name: fileRef.name, fileRef },
             'error adding file with project'
           )
@@ -1129,7 +1129,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
     }
     logger.log({ entity_id, entityType, project_id }, 'deleting project entity')
     if (entityType == null) {
-      logger.err({ err: 'No entityType set', project_id, entity_id })
+      logger.warn({ err: 'No entityType set', project_id, entity_id })
       return callback('No entityType set')
     }
     entityType = entityType.toLowerCase()
@@ -1260,7 +1260,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
       'moving entity'
     )
     if (entityType == null) {
-      logger.err({ err: 'No entityType set', project_id, entity_id })
+      logger.warn({ err: 'No entityType set', project_id, entity_id })
       return callback('No entityType set')
     }
     entityType = entityType.toLowerCase()
@@ -1308,7 +1308,7 @@ module.exports = ProjectEntityUpdateHandler = self = {
     }
     logger.log({ entity_id, project_id }, `renaming ${entityType}`)
     if (entityType == null) {
-      logger.err({ err: 'No entityType set', project_id, entity_id })
+      logger.warn({ err: 'No entityType set', project_id, entity_id })
       return callback('No entityType set')
     }
     entityType = entityType.toLowerCase()

+ 1 - 1
services/web/app/src/Features/Project/ProjectGetter.js

@@ -122,7 +122,7 @@ module.exports = ProjectGetter = {
 
     return db.projects.find(query, projection, function(err, project) {
       if (err != null) {
-        logger.err({ err, query, projection }, 'error getting project')
+        logger.warn({ err, query, projection }, 'error getting project')
         return callback(err)
       }
       return callback(null, project != null ? project[0] : undefined)

+ 2 - 2
services/web/app/src/Features/Project/ProjectLocator.js

@@ -146,7 +146,7 @@ module.exports = ProjectLocator = {
         { rootFolder: true, rootDoc_id: true },
         function(err, project) {
           if (err != null) {
-            logger.err({ err }, 'error getting project')
+            logger.warn({ err }, 'error getting project')
             return callback(err)
           } else {
             return getRootDoc(project)
@@ -272,7 +272,7 @@ module.exports = ProjectLocator = {
     }
 
     if (typeof err !== 'undefined' && err !== null) {
-      logger.err(
+      logger.warn(
         { err, project_id: project._id },
         'error getting project for finding element'
       )

+ 1 - 1
services/web/app/src/Features/Project/ProjectOptionsHandler.js

@@ -117,7 +117,7 @@ module.exports = {
     const update = { $unset: { brandVariationId: 1 } }
     return Project.update(conditions, update, {}, function(err) {
       if (err != null) {
-        logger.err({ err }, 'error unsetting brandVariationId')
+        logger.warn({ err }, 'error unsetting brandVariationId')
         return callback(err)
       }
       return callback()

+ 1 - 1
services/web/app/src/Features/Referal/ReferalAllocator.js

@@ -57,7 +57,7 @@ module.exports = ReferalAllocator = {
           {},
           function(err) {
             if (err != null) {
-              logger.err(
+              logger.warn(
                 { err, referal_id, new_user_id },
                 'something went wrong allocating referal'
               )

+ 5 - 5
services/web/app/src/Features/References/ReferencesHandler.js

@@ -108,7 +108,7 @@ module.exports = ReferencesHandler = {
       { rootFolder: true, owner_ref: 1 },
       function(err, project) {
         if (err) {
-          logger.err({ err, projectId }, 'error finding project')
+          logger.warn({ err, projectId }, 'error finding project')
           return callback(err)
         }
         logger.log({ projectId }, 'indexing all bib files in project')
@@ -134,7 +134,7 @@ module.exports = ReferencesHandler = {
       { rootFolder: true, owner_ref: 1 },
       function(err, project) {
         if (err) {
-          logger.err({ err, projectId }, 'error finding project')
+          logger.warn({ err, projectId }, 'error finding project')
           return callback(err)
         }
         return ReferencesHandler._doIndexOperation(
@@ -159,7 +159,7 @@ module.exports = ReferencesHandler = {
     }
     return ReferencesHandler._isFullIndex(project, function(err, isFullIndex) {
       if (err) {
-        logger.err(
+        logger.warn(
           { err, projectId },
           'error checking whether to do full index'
         )
@@ -176,7 +176,7 @@ module.exports = ReferencesHandler = {
         function(err) {
           // continue
           if (err) {
-            logger.err(
+            logger.warn(
               { err, projectId, docIds },
               'error flushing docs to mongo'
             )
@@ -203,7 +203,7 @@ module.exports = ReferencesHandler = {
             },
             function(err, res, data) {
               if (err) {
-                logger.err(
+                logger.warn(
                   { err, projectId },
                   'error communicating with references api'
                 )

+ 1 - 1
services/web/app/src/Features/Subscription/FeaturesUpdater.js

@@ -51,7 +51,7 @@ module.exports = FeaturesUpdater = {
     }
     return async.series(jobs, function(err, results) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id },
           'error getting subscription or group for refreshFeatures'
         )

+ 2 - 2
services/web/app/src/Features/Subscription/LimitationsManager.js

@@ -241,11 +241,11 @@ module.exports = LimitationsManager = {
       subscription
     ) {
       if (err != null) {
-        logger.err({ err, subscriptionId }, 'error getting subscription')
+        logger.warn({ err, subscriptionId }, 'error getting subscription')
         return callback(err)
       }
       if (subscription == null) {
-        logger.err({ subscriptionId }, 'no subscription found')
+        logger.warn({ subscriptionId }, 'no subscription found')
         return callback('no subscription found')
       }
 

+ 17 - 17
services/web/app/src/Features/Subscription/RecurlyWrapper.js

@@ -49,7 +49,7 @@ module.exports = RecurlyWrapper = {
         },
         function(error, response, responseBody) {
           if (error) {
-            logger.error(
+            logger.warn(
               { error, user_id: user._id, recurly_token_id },
               'error response from recurly while checking account'
             )
@@ -73,7 +73,7 @@ module.exports = RecurlyWrapper = {
             account
           ) {
             if (err) {
-              logger.error(
+              logger.warn(
                 { err, user_id: user._id, recurly_token_id },
                 'error parsing account'
               )
@@ -131,7 +131,7 @@ module.exports = RecurlyWrapper = {
         },
         (error, response, responseBody) => {
           if (error) {
-            logger.error(
+            logger.warn(
               { error, user_id: user._id, recurly_token_id },
               'error response from recurly while creating account'
             )
@@ -142,7 +142,7 @@ module.exports = RecurlyWrapper = {
             account
           ) {
             if (err) {
-              logger.error(
+              logger.warn(
                 { err, user_id: user._id, recurly_token_id },
                 'error creating account'
               )
@@ -179,7 +179,7 @@ module.exports = RecurlyWrapper = {
         },
         (error, response, responseBody) => {
           if (error) {
-            logger.error(
+            logger.warn(
               { error, user_id: user._id, recurly_token_id },
               'error response from recurly while creating billing info'
             )
@@ -190,7 +190,7 @@ module.exports = RecurlyWrapper = {
             billingInfo
           ) {
             if (err) {
-              logger.error(
+              logger.warn(
                 { err, user_id: user._id, accountCode, recurly_token_id },
                 'error creating billing info'
               )
@@ -242,7 +242,7 @@ module.exports = RecurlyWrapper = {
         },
         (error, response, responseBody) => {
           if (error) {
-            logger.error(
+            logger.warn(
               { error, user_id: user._id, recurly_token_id },
               'error response from recurly while setting address'
             )
@@ -253,7 +253,7 @@ module.exports = RecurlyWrapper = {
             billingInfo
           ) {
             if (err) {
-              logger.error(
+              logger.warn(
                 { err, user_id: user._id, recurly_token_id },
                 'error updating billing info'
               )
@@ -291,7 +291,7 @@ module.exports = RecurlyWrapper = {
         },
         (error, response, responseBody) => {
           if (error) {
-            logger.error(
+            logger.warn(
               { error, user_id: user._id, recurly_token_id },
               'error response from recurly while creating subscription'
             )
@@ -302,7 +302,7 @@ module.exports = RecurlyWrapper = {
             subscription
           ) {
             if (err) {
-              logger.error(
+              logger.warn(
                 { err, user_id: user._id, recurly_token_id },
                 'error creating subscription'
               )
@@ -340,7 +340,7 @@ module.exports = RecurlyWrapper = {
       ],
       function(err, result) {
         if (err) {
-          logger.error(
+          logger.warn(
             { err, user_id: user._id, recurly_token_id },
             'error in paypal subscription creation process'
           )
@@ -348,7 +348,7 @@ module.exports = RecurlyWrapper = {
         }
         if (!result.subscription) {
           err = new Error('no subscription object in result')
-          logger.error(
+          logger.warn(
             { err, user_id: user._id, recurly_token_id },
             'error in paypal subscription creation process'
           )
@@ -431,7 +431,7 @@ module.exports = RecurlyWrapper = {
         response.statusCode !== 204 &&
         (response.statusCode !== 404 || !expect404)
       ) {
-        logger.err(
+        logger.warn(
           {
             err: error,
             body,
@@ -545,7 +545,7 @@ module.exports = RecurlyWrapper = {
         }
         return RecurlyWrapper._parseXml(body, function(err, data) {
           if (err != null) {
-            logger.err({ err }, 'could not get accoutns')
+            logger.warn({ err }, 'could not get accoutns')
             callback(err)
           }
           allAccounts = allAccounts.concat(data.accounts)
@@ -699,7 +699,7 @@ module.exports = RecurlyWrapper = {
       },
       (error, response, responseBody) => {
         if (error != null) {
-          logger.err({ err: error, coupon_code }, 'error creating coupon')
+          logger.warn({ err: error, coupon_code }, 'error creating coupon')
         }
         return callback(error)
       }
@@ -785,7 +785,7 @@ module.exports = RecurlyWrapper = {
       },
       (error, response, responseBody) => {
         if (error != null) {
-          logger.err(
+          logger.warn(
             { err: error, account_code, coupon_code },
             'error redeeming coupon'
           )
@@ -812,7 +812,7 @@ module.exports = RecurlyWrapper = {
       },
       (error, response, responseBody) => {
         if (error != null) {
-          logger.err(
+          logger.warn(
             { err: error, subscriptionId, daysUntilExpire },
             'error exending trial'
           )

+ 7 - 7
services/web/app/src/Features/Subscription/SubscriptionController.js

@@ -223,7 +223,7 @@ module.exports = SubscriptionController = {
         recurly_token_id,
         function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, user_id: user._id },
               'something went wrong creating subscription'
             )
@@ -259,7 +259,7 @@ module.exports = SubscriptionController = {
     logger.log({ user_id: user._id }, 'canceling subscription')
     return SubscriptionHandler.cancelSubscription(user, function(err) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id: user._id },
           'something went wrong canceling subscription'
         )
@@ -283,7 +283,7 @@ module.exports = SubscriptionController = {
     logger.log({ user_id }, 'canceling v1 subscription')
     return V1SubscriptionManager.cancelV1Subscription(user_id, function(err) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id },
           'something went wrong canceling v1 subscription'
         )
@@ -300,7 +300,7 @@ module.exports = SubscriptionController = {
     const planCode = req.body.plan_code
     if (planCode == null) {
       const err = new Error('plan_code is not defined')
-      logger.err(
+      logger.warn(
         { user_id: user._id, err, planCode, origin: _origin, body: req.body },
         '[Subscription] error in updateSubscription form'
       )
@@ -313,7 +313,7 @@ module.exports = SubscriptionController = {
       null,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id },
             'something went wrong updating subscription'
           )
@@ -329,7 +329,7 @@ module.exports = SubscriptionController = {
     logger.log({ user_id: user._id }, 'reactivating subscription')
     return SubscriptionHandler.reactivateSubscription(user, function(err) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id: user._id },
           'something went wrong reactivating subscription'
         )
@@ -414,7 +414,7 @@ module.exports = SubscriptionController = {
       coupon_code,
       function(err) {
         if (err != null) {
-          logger.err({ err, user_id: user._id }, 'error updating subscription')
+          logger.warn({ err, user_id: user._id }, 'error updating subscription')
           return next(err)
         }
         return res.sendStatus(200)

+ 1 - 1
services/web/app/src/Features/Subscription/SubscriptionGroupController.js

@@ -31,7 +31,7 @@ module.exports = {
       userToRemove_id,
       function(err) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, subscriptionId: subscription._id, userToRemove_id },
             'error removing user from group'
           )

+ 1 - 1
services/web/app/src/Features/Subscription/SubscriptionUpdater.js

@@ -117,7 +117,7 @@ const SubscriptionUpdater = {
     const removeOperation = { $pull: { member_ids: userId } }
     Subscription.updateMany(filter, removeOperation, function(err) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, filter, removeOperation },
           'error removing user from groups'
         )

+ 5 - 5
services/web/app/src/Features/SudoMode/SudoModeController.js

@@ -29,7 +29,7 @@ module.exports = SudoModeController = {
     logger.log({ userId }, '[SudoMode] rendering sudo mode password page')
     return SudoModeHandler.isSudoModeActive(userId, function(err, isActive) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, userId },
           '[SudoMode] error checking if sudo mode is active'
         )
@@ -66,12 +66,12 @@ module.exports = SudoModeController = {
       userRecord
     ) {
       if (err != null) {
-        logger.err({ err, userId }, '[SudoMode] error getting user')
+        logger.warn({ err, userId }, '[SudoMode] error getting user')
         return next(err)
       }
       if (userRecord == null) {
         err = new Error('user not found')
-        logger.err({ err, userId }, '[SudoMode] user not found')
+        logger.warn({ err, userId }, '[SudoMode] user not found')
         return next(err)
       }
       return SudoModeHandler.authenticate(userRecord.email, password, function(
@@ -79,7 +79,7 @@ module.exports = SudoModeController = {
         user
       ) {
         if (err != null) {
-          logger.err({ err, userId }, '[SudoMode] error authenticating user')
+          logger.warn({ err, userId }, '[SudoMode] error authenticating user')
           return next(err)
         }
         if (user != null) {
@@ -89,7 +89,7 @@ module.exports = SudoModeController = {
           )
           return SudoModeHandler.activateSudoMode(userId, function(err) {
             if (err != null) {
-              logger.err(
+              logger.warn(
                 { err, userId },
                 '[SudoMode] error activating sudo mode'
               )

+ 1 - 1
services/web/app/src/Features/SudoMode/SudoModeMiddleware.js

@@ -33,7 +33,7 @@ module.exports = SudoModeMiddleware = {
     )
     return SudoModeHandler.isSudoModeActive(userId, function(err, isActive) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, userId },
           '[SudoMode] error checking if sudo mode is active'
         )

+ 2 - 2
services/web/app/src/Features/Tags/TagsHandler.js

@@ -168,7 +168,7 @@ module.exports = TagsHandler = {
   _handleResponse(err, res, params, callback) {
     if (err != null) {
       params.err = err
-      logger.err(params, 'error in tag api')
+      logger.warn(params, 'error in tag api')
       return callback(err)
     } else if (res != null && res.statusCode >= 200 && res.statusCode < 300) {
       return callback(null)
@@ -179,7 +179,7 @@ module.exports = TagsHandler = {
         }`
       )
       params.err = err
-      logger.err(
+      logger.warn(
         params,
         `tags api returned failure status code: ${
           res != null ? res.statusCode : undefined

+ 3 - 3
services/web/app/src/Features/Templates/TemplatesManager.js

@@ -46,7 +46,7 @@ module.exports = TemplatesManager = {
       }
     })
     zipReq.on('error', function(err) {
-      logger.error({ err }, 'error getting zip from template API')
+      logger.warn({ err }, 'error getting zip from template API')
       return callback(err)
     })
     return FileWriter.ensureDumpFolderExists(function(err) {
@@ -63,7 +63,7 @@ module.exports = TemplatesManager = {
       }
       writeStream.on('close', function() {
         if (zipReq.response.statusCode !== 200) {
-          logger.err(
+          logger.warn(
             { uri: zipUrl, statusCode: zipReq.response.statusCode },
             'non-success code getting zip from template API'
           )
@@ -76,7 +76,7 @@ module.exports = TemplatesManager = {
           attributes,
           function(err, project) {
             if (err != null) {
-              logger.err({ err, zipReq }, 'problem building project from zip')
+              logger.warn({ err, zipReq }, 'problem building project from zip')
               return callback(err)
             }
             return async.series(

+ 2 - 2
services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js

@@ -83,7 +83,7 @@ module.exports = TpdsUpdateSender = {
       allUserIds
     ) {
       if (err != null) {
-        logger.err({ err, options }, 'error getting projects user ids')
+        logger.warn({ err, options }, 'error getting projects user ids')
         return callback(err)
       }
       logger.log(
@@ -117,7 +117,7 @@ module.exports = TpdsUpdateSender = {
         postOptions,
         function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               {
                 err,
                 project_id: options.project_id,

+ 2 - 2
services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.js

@@ -143,7 +143,7 @@ module.exports = UpdateMerger = {
         docLines
       ) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { project_id },
             'error reading file into text array for process doc update'
           )
@@ -192,7 +192,7 @@ module.exports = UpdateMerger = {
           content = ''
         }
         if (error != null) {
-          logger.err({ path }, 'error reading file into text array')
+          logger.warn({ path }, 'error reading file into text array')
           return callback(error)
         }
         const lines = content.split(/\r\n|\n|\r/)

+ 5 - 5
services/web/app/src/Features/TokenAccess/TokenAccessController.js

@@ -31,7 +31,7 @@ module.exports = TokenAccessController = {
       userId,
       function(err, project) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, token, userId },
             '[TokenAccess] error finding project with higher access'
           )
@@ -66,7 +66,7 @@ module.exports = TokenAccessController = {
       projectExists
     ) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, token, userId },
           '[TokenAccess] error getting project by readAndWrite token'
         )
@@ -143,7 +143,7 @@ module.exports = TokenAccessController = {
           project._id,
           function(err) {
             if (err != null) {
-              logger.err(
+              logger.warn(
                 { err, token, userId, projectId: project._id },
                 '[TokenAccess] error adding user to project with readAndWrite token'
               )
@@ -185,7 +185,7 @@ module.exports = TokenAccessController = {
         projectExists
       ) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, token, userId },
             '[TokenAccess] error getting project by readOnly token'
           )
@@ -258,7 +258,7 @@ module.exports = TokenAccessController = {
               project._id,
               function(err) {
                 if (err != null) {
-                  logger.err(
+                  logger.warn(
                     { err, token, userId, projectId: project._id },
                     '[TokenAccess] error adding user to project with readAndWrite token'
                   )

+ 7 - 4
services/web/app/src/Features/Uploads/ArchiveManager.js

@@ -57,7 +57,10 @@ const ArchiveManager = {
       // no more entries to read
       return zipfile.on('end', function() {
         if (totalSizeInBytes == null || isNaN(totalSizeInBytes)) {
-          logger.err({ source, totalSizeInBytes }, 'error getting bytes of zip')
+          logger.warn(
+            { source, totalSizeInBytes },
+            'error getting bytes of zip'
+          )
           return callback(new Error('error getting bytes of zip'))
         }
         const isTooLarge = totalSizeInBytes > ONE_MEG * 300
@@ -158,7 +161,7 @@ const ArchiveManager = {
               destFile,
               function(err) {
                 if (err != null) {
-                  logger.error(
+                  logger.warn(
                     { err, source, destFile },
                     'error unzipping file entry'
                   )
@@ -191,7 +194,7 @@ const ArchiveManager = {
 
     return ArchiveManager._isZipTooLarge(source, function(err, isTooLarge) {
       if (err != null) {
-        logger.err({ err }, 'error checking size of zip file')
+        logger.warn({ err }, 'error checking size of zip file')
         return callback(err)
       }
 
@@ -207,7 +210,7 @@ const ArchiveManager = {
       ) {
         timer.done()
         if (err != null) {
-          logger.error({ err, source, destination }, 'unzip failed')
+          logger.warn({ err, source, destination }, 'unzip failed')
           return callback(err)
         } else {
           return callback()

+ 1 - 1
services/web/app/src/Features/Uploads/FileSystemImportManager.js

@@ -301,7 +301,7 @@ module.exports = FileSystemImportManager = {
     }
     return fs.lstat(path, function(err, stat) {
       if (err != null) {
-        logger.err({ err }, 'error with path symlink check')
+        logger.warn({ err }, 'error with path symlink check')
         return callback(err)
       }
       const isSafe = stat.isFile() || stat.isDirectory()

+ 4 - 4
services/web/app/src/Features/User/UserController.js

@@ -60,7 +60,7 @@ module.exports = UserController = {
       password,
       function(err, user) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { user_id },
             'error authenticating during attempt to delete account'
           )
@@ -78,7 +78,7 @@ module.exports = UserController = {
             if (err instanceof Errors.SubscriptionAdminDeletionError) {
               return res.status(422).json({ error: err.name })
             } else {
-              logger.err({ user_id }, 'error while deleting user account')
+              logger.warn({ user_id }, 'error while deleting user account')
               return next(err)
             }
           }
@@ -88,7 +88,7 @@ module.exports = UserController = {
           }
           return req.session.destroy(function(err) {
             if (err != null) {
-              logger.err({ err }, 'error destorying session')
+              logger.warn({ err }, 'error destorying session')
               return next(err)
             }
             UserSessionsManager.untrackSession(user, sessionId)
@@ -238,7 +238,7 @@ module.exports = UserController = {
     } // passport logout
     return req.session.destroy(function(err) {
       if (err) {
-        logger.err({ err }, 'error destorying session')
+        logger.warn({ err }, 'error destorying session')
         cb(err)
       }
       if (user != null) {

+ 3 - 3
services/web/app/src/Features/User/UserDeleter.js

@@ -33,7 +33,7 @@ module.exports = UserDeleter = {
       callback = function(err) {}
     }
     if (user_id == null) {
-      logger.err('user_id is null when trying to delete user')
+      logger.warn('user_id is null when trying to delete user')
       return callback(new Error('no user_id'))
     }
     return User.findById(user_id, function(err, user) {
@@ -64,7 +64,7 @@ module.exports = UserDeleter = {
       callback = function() {}
     }
     if (user_id == null) {
-      logger.err('user_id is null when trying to delete user')
+      logger.warn('user_id is null when trying to delete user')
       return callback('no user_id')
     }
     return User.findById(user_id, function(err, user) {
@@ -81,7 +81,7 @@ module.exports = UserDeleter = {
         ],
         function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, user_id },
               'something went wrong deleteing the user'
             )

+ 1 - 1
services/web/app/src/Features/User/UserPagesController.js

@@ -177,7 +177,7 @@ module.exports = UserPagesController = {
       [req.sessionID],
       function(err, sessions) {
         if (err != null) {
-          logger.err({ user_id: user._id }, 'error getting all user sessions')
+          logger.warn({ user_id: user._id }, 'error getting all user sessions')
           return next(err)
         }
         return res.render('user/sessions', {

+ 9 - 9
services/web/app/src/Features/User/UserSessionsManager.js

@@ -48,7 +48,7 @@ module.exports = UserSessionsManager = {
       .expire(sessionSetKey, `${Settings.cookieSessionLength}`)
       .exec(function(err, response) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id, sessionSetKey },
             'error while adding session key to UserSessions set'
           )
@@ -80,7 +80,7 @@ module.exports = UserSessionsManager = {
       .expire(sessionSetKey, `${Settings.cookieSessionLength}`)
       .exec(function(err, response) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id, sessionSetKey },
             'error while removing session key from UserSessions set'
           )
@@ -99,7 +99,7 @@ module.exports = UserSessionsManager = {
     const sessionSetKey = UserSessionsRedis.sessionSetKey(user)
     return rclient.smembers(sessionSetKey, function(err, sessionKeys) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { user_id: user._id },
           'error getting all session keys for user from redis'
         )
@@ -116,7 +116,7 @@ module.exports = UserSessionsManager = {
         (k, cb) => rclient.get(k, cb),
         function(err, sessions) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { user_id: user._id },
               'error getting all sessions for user from redis'
             )
@@ -163,7 +163,7 @@ module.exports = UserSessionsManager = {
     const sessionSetKey = UserSessionsRedis.sessionSetKey(user)
     return rclient.smembers(sessionSetKey, function(err, sessionKeys) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id: user._id, sessionSetKey },
           'error getting contents of UserSessions set'
         )
@@ -189,7 +189,7 @@ module.exports = UserSessionsManager = {
 
       return Async.series(deletions, function(err, _result) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id, sessionSetKey },
             'errror revoking all sessions for user'
           )
@@ -197,7 +197,7 @@ module.exports = UserSessionsManager = {
         }
         return rclient.srem(sessionSetKey, keysToDelete, function(err) {
           if (err != null) {
-            logger.err(
+            logger.warn(
               { err, user_id: user._id, sessionSetKey },
               'error removing session set for user'
             )
@@ -223,7 +223,7 @@ module.exports = UserSessionsManager = {
       `${Settings.cookieSessionLength}`,
       function(err, response) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { err, user_id: user._id },
             'error while updating ttl on UserSessions set'
           )
@@ -246,7 +246,7 @@ module.exports = UserSessionsManager = {
     const sessionSetKey = UserSessionsRedis.sessionSetKey(user)
     return rclient.smembers(sessionSetKey, function(err, sessionKeys) {
       if (err != null) {
-        logger.err(
+        logger.warn(
           { err, user_id: user._id, sessionSetKey },
           'error getting contents of UserSessions set'
         )

+ 9 - 6
services/web/app/src/Features/User/UserUpdater.js

@@ -99,7 +99,10 @@ module.exports = UserUpdater = {
 
       return addAffiliation(userId, newEmail, affiliationOptions, error => {
         if (error != null) {
-          logger.err({ error }, 'problem adding affiliation while adding email')
+          logger.warn(
+            { error },
+            'problem adding affiliation while adding email'
+          )
           return callback(error)
         }
 
@@ -115,7 +118,7 @@ module.exports = UserUpdater = {
         }
         return this.updateUser(userId, update, function(error) {
           if (error != null) {
-            logger.err({ error }, 'problem updating users emails')
+            logger.warn({ error }, 'problem updating users emails')
             return callback(error)
           }
           return callback()
@@ -133,7 +136,7 @@ module.exports = UserUpdater = {
     }
     return removeAffiliation(userId, email, error => {
       if (error != null) {
-        logger.err({ error }, 'problem removing affiliation')
+        logger.warn({ error }, 'problem removing affiliation')
         return callback(error)
       }
 
@@ -141,7 +144,7 @@ module.exports = UserUpdater = {
       const update = { $pull: { emails: { email } } }
       return this.updateUser(query, update, function(error, res) {
         if (error != null) {
-          logger.err({ error }, 'problem removing users email')
+          logger.warn({ error }, 'problem removing users email')
           return callback(error)
         }
         if (res.n === 0) {
@@ -167,7 +170,7 @@ module.exports = UserUpdater = {
       const update = { $set: { email } }
       return this.updateUser(query, update, function(error, res) {
         if (error != null) {
-          logger.err({ error }, 'problem setting default emails')
+          logger.warn({ error }, 'problem setting default emails')
           return callback(error)
         } else if (res.n === 0) {
           // TODO: Check n or nMatched?
@@ -277,7 +280,7 @@ module.exports = UserUpdater = {
     logger.log({ userId, email }, 'confirming user email')
     return addAffiliation(userId, email, { confirmedAt }, error => {
       if (error != null) {
-        logger.err(
+        logger.warn(
           { error },
           'problem adding affiliation while confirming email'
         )

+ 1 - 1
services/web/app/src/Features/UserMembership/UserMembershipAuthorization.js

@@ -141,7 +141,7 @@ module.exports = UserMembershipAuthorization = {
         }
 
         if (response.statusCode !== 200) {
-          logger.err(
+          logger.warn(
             { templateId },
             "[TemplateMetrics] Couldn't fetch template data from v1"
           )

+ 2 - 2
services/web/app/src/Features/V1/V1Handler.js

@@ -32,7 +32,7 @@ module.exports = V1Handler = {
       },
       function(err, response, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { email, err },
             '[V1Handler] error while talking to v1 login api'
           )
@@ -80,7 +80,7 @@ module.exports = V1Handler = {
       },
       function(err, response, body) {
         if (err != null) {
-          logger.err(
+          logger.warn(
             { v1_user_id, err },
             'error while talking to v1 password reset api'
           )

+ 3 - 3
services/web/app/src/infrastructure/FileWriter.js

@@ -76,14 +76,14 @@ module.exports = FileWriter = {
       stream.pipe(writeStream)
 
       stream.on('error', function(err) {
-        logger.err(
+        logger.warn(
           { err, identifier, fsPath },
           '[writeStreamToDisk] something went wrong with incoming stream'
         )
         return callback(err)
       })
       writeStream.on('error', function(err) {
-        logger.err(
+        logger.warn(
           { err, identifier, fsPath },
           '[writeStreamToDisk] something went wrong with writing to disk'
         )
@@ -110,7 +110,7 @@ module.exports = FileWriter = {
         return FileWriter.writeStreamToDisk(identifier, stream, callback)
       } else {
         const err = new Error(`bad response from url: ${response.statusCode}`)
-        logger.err({ err, identifier, url }, err.message)
+        logger.warn({ err, identifier, url }, err.message)
         return callback(err)
       }
     })

+ 1 - 1
services/web/app/src/infrastructure/GeoIpLookup.js

@@ -76,7 +76,7 @@ module.exports = GeoIpLookup = {
     logger.log({ ip, opts }, 'getting geo ip details')
     return request.get(opts, function(err, res, ipDetails) {
       if (err != null) {
-        logger.err({ err, ip }, 'error getting ip details')
+        logger.warn({ err, ip }, 'error getting ip details')
       }
       return callback(err, ipDetails)
     })

+ 1 - 1
services/web/app/src/infrastructure/LockManager.js

@@ -203,7 +203,7 @@ module.exports = LockManager = {
         return callback(err)
       } else if (result != null && result !== 1) {
         // successful unlock should release exactly one key
-        logger.error(
+        logger.warn(
           { key, lockValue, redis_err: err, redis_result: result },
           'unlocking error'
         )

+ 1 - 0
services/web/test/unit/src/Authentication/AuthenticationControllerTests.js

@@ -48,6 +48,7 @@ describe('AuthenticationController', function() {
         }),
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           error: sinon.stub(),
           err: sinon.stub()
         }),

+ 1 - 0
services/web/test/unit/src/BetaProgram/BetaProgramControllerTests.js

@@ -50,6 +50,7 @@ describe('BetaProgramController', function() {
         }),
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           err: sinon.stub(),
           error: sinon.stub()
         }),

+ 1 - 0
services/web/test/unit/src/BetaProgram/BetaProgramHandlerTests.js

@@ -41,6 +41,7 @@ describe('BetaProgramHandler', function() {
         },
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           err: sinon.stub()
         }),
         'metrics-sharelatex': (this.logger = {

+ 1 - 0
services/web/test/unit/src/BrandVariations/BrandVariationsHandlerTests.js

@@ -32,6 +32,7 @@ describe('BrandVariationsHandler', function() {
       }
     }
     this.logger = {
+      warn() {},
       err() {},
       log() {}
     }

+ 5 - 1
services/web/test/unit/src/Chat/ChatApiHandlerTests.js

@@ -34,7 +34,11 @@ describe('ChatApiHandler', function() {
     this.ChatApiHandler = SandboxedModule.require(modulePath, {
       requires: {
         'settings-sharelatex': this.settings,
-        'logger-sharelatex': { log: sinon.stub(), error: sinon.stub() },
+        'logger-sharelatex': {
+          log: sinon.stub(),
+          warn: sinon.stub(),
+          error: sinon.stub()
+        },
         request: this.request
       }
     })

+ 1 - 1
services/web/test/unit/src/Collaborators/CollaboratorsControllerTests.js

@@ -31,7 +31,7 @@ describe('CollaboratorsController', function() {
         '../Tags/TagsHandler': (this.TagsHandler = {}),
         'logger-sharelatex': (this.logger = {
           err: sinon.stub(),
-          erro: sinon.stub(),
+          warn: sinon.stub(),
           log: sinon.stub()
         })
       }

+ 1 - 0
services/web/test/unit/src/Collaborators/CollaboratorsHandlerTests.js

@@ -32,6 +32,7 @@ describe('CollaboratorsHandler', function() {
       requires: {
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           err: sinon.stub()
         }),
         '../User/UserCreator': (this.UserCreator = {}),

+ 1 - 0
services/web/test/unit/src/Collaborators/CollaboratorsInviteControllerTests.js

@@ -53,6 +53,7 @@ describe('CollaboratorsInviteController', function() {
         'logger-sharelatex': (this.logger = {
           err: sinon.stub(),
           error: sinon.stub(),
+          warn: sinon.stub(),
           log: sinon.stub()
         }),
         '../Editor/EditorRealTimeController': (this.EditorRealTimeController = {

+ 1 - 0
services/web/test/unit/src/Collaborators/CollaboratorsInviteHandlerTests.js

@@ -60,6 +60,7 @@ describe('CollaboratorsInviteHandler', function() {
         'logger-sharelatex': (this.logger = {
           err: sinon.stub(),
           error: sinon.stub(),
+          warn: sinon.stub(),
           log: sinon.stub()
         }),
         './CollaboratorsEmailHandler': (this.CollaboratorsEmailHandler = {}),

+ 3 - 2
services/web/test/unit/src/Contact/ContactManagerTests.js

@@ -29,6 +29,7 @@ describe('ContactManager', function() {
         }),
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           error: sinon.stub(),
           err() {}
         })
@@ -99,7 +100,7 @@ describe('ContactManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(
@@ -167,7 +168,7 @@ describe('ContactManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(

+ 8 - 7
services/web/test/unit/src/Docstore/DocstoreManagerTests.js

@@ -33,6 +33,7 @@ describe('DocstoreManager', function() {
         }),
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           error: sinon.stub(),
           err() {}
         })
@@ -95,7 +96,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(
@@ -131,7 +132,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Errors.NotFoundError(
@@ -222,7 +223,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(
@@ -299,7 +300,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(
@@ -364,7 +365,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Errors.NotFoundError('doc not found in docstore'),
@@ -425,7 +426,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(
@@ -487,7 +488,7 @@ describe('DocstoreManager', function() {
       })
 
       it('should log the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               err: new Error(

+ 1 - 0
services/web/test/unit/src/Documents/DocumentControllerTests.js

@@ -28,6 +28,7 @@ describe('DocumentController', function() {
       requires: {
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         },
         '../Project/ProjectGetter': (this.ProjectGetter = {}),

+ 1 - 0
services/web/test/unit/src/Exports/ExportsHandlerTests.js

@@ -30,6 +30,7 @@ describe('ExportsHandler', function() {
       requires: {
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         },
         '../Project/ProjectGetter': (this.ProjectGetter = {}),

+ 1 - 0
services/web/test/unit/src/FileStore/FileStoreHandlerTests.js

@@ -56,6 +56,7 @@ describe('FileStoreHandler', function() {
     }
     this.logger = {
       log: sinon.stub(),
+      warn: sinon.stub(),
       err: sinon.stub()
     }
     this.FileHashManager = {

+ 1 - 0
services/web/test/unit/src/History/HistoryControllerTests.js

@@ -31,6 +31,7 @@ describe('HistoryController', function() {
         'settings-sharelatex': (this.settings = {}),
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           error: sinon.stub()
         }),
         '../Authentication/AuthenticationController': this

+ 1 - 0
services/web/test/unit/src/InactiveData/InactiveProjectManagerTests.js

@@ -40,6 +40,7 @@ describe('InactiveProjectManager', function() {
         'settings-sharelatex': this.settings,
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         },
         '../Docstore/DocstoreManager': this.DocstoreManager,

+ 1 - 1
services/web/test/unit/src/Institutions/InstitutionsAPITests.js

@@ -24,7 +24,7 @@ const modulePath = path.join(
 
 describe('InstitutionsAPI', function() {
   beforeEach(function() {
-    this.logger = { err: sinon.stub(), log() {} }
+    this.logger = { warn: sinon.stub(), err: sinon.stub(), log() {} }
     this.settings = { apis: { v1: { url: 'v1.url', user: '', pass: '' } } }
     this.request = sinon.stub()
     this.ipMatcherNotification = {

+ 1 - 1
services/web/test/unit/src/Institutions/InstitutionsControllerTests.js

@@ -23,7 +23,7 @@ const { expect } = require('chai')
 
 describe('InstitutionsController', function() {
   beforeEach(function() {
-    this.logger = { err: sinon.stub(), log() {} }
+    this.logger = { err: sinon.stub(), warn: sinon.stub(), log() {} }
     this.host = 'mit.edu'
       .split('')
       .reverse()

+ 5 - 1
services/web/test/unit/src/Metadata/MetaControllerTests.js

@@ -28,7 +28,11 @@ describe('MetaController', function() {
     }
     return (this.MetadataController = SandboxedModule.require(modulePath, {
       requires: {
-        'logger-sharelatex': { log: sinon.stub(), err: sinon.stub() },
+        'logger-sharelatex': {
+          log: sinon.stub(),
+          warn: sinon.stub(),
+          err: sinon.stub()
+        },
         '../Editor/EditorRealTimeController': this.EditorRealTimeController,
         './MetaHandler': this.MetaHandler
       }

+ 1 - 0
services/web/test/unit/src/Project/ProjectDetailsHandlerTests.js

@@ -63,6 +63,7 @@ describe('ProjectDetailsHandler', function() {
         '../Collaborators/CollaboratorsHandler': this.CollaboratorsHandler,
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         },
         './ProjectTokenGenerator': (this.ProjectTokenGenerator = {}),

+ 1 - 0
services/web/test/unit/src/Project/ProjectDuplicatorTests.js

@@ -161,6 +161,7 @@ describe('ProjectDuplicator', function() {
         './ProjectGetter': this.ProjectGetter,
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         }
       }

+ 1 - 0
services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js

@@ -51,6 +51,7 @@ describe('ProjectEntityMongoUpdateHandler', function() {
       requires: {
         'logger-sharelatex': (this.logger = {
           log: sinon.stub(),
+          warn: sinon.stub(),
           error: sinon.stub(),
           err() {}
         }),

+ 2 - 1
services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js

@@ -88,6 +88,7 @@ describe('ProjectEntityUpdateHandler', function() {
         requires: {
           'logger-sharelatex': (this.logger = {
             log: sinon.stub(),
+            warn: sinon.stub(),
             error: sinon.stub(),
             err() {}
           }),
@@ -446,7 +447,7 @@ describe('ProjectEntityUpdateHandler', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error
+        return this.logger.warn
           .calledWith(
             {
               project_id,

+ 1 - 0
services/web/test/unit/src/References/ReferencesHandlerTests.js

@@ -51,6 +51,7 @@ describe('ReferencesHandler', function() {
       requires: {
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         },
         'settings-sharelatex': (this.settings = {

+ 1 - 0
services/web/test/unit/src/Subscription/RecurlyWrapperTests.js

@@ -149,6 +149,7 @@ describe('RecurlyWrapper', function() {
           'logger-sharelatex': {
             err: sinon.stub(),
             error: sinon.stub(),
+            warn: sinon.stub(),
             log: sinon.stub()
           },
           request: sinon.stub(),

+ 2 - 1
services/web/test/unit/src/Subscription/SubscriptionUpdaterTests.js

@@ -104,7 +104,8 @@ describe('SubscriptionUpdater', function() {
         '../User/UserGetter': this.UserGetter,
         './PlansLocator': this.PlansLocator,
         'logger-sharelatex': {
-          log() {}
+          log() {},
+          warn() {}
         },
         'settings-sharelatex': this.Settings,
         './FeaturesUpdater': this.FeaturesUpdater

+ 5 - 1
services/web/test/unit/src/SudoMode/SudoModeControllerTests.js

@@ -37,7 +37,11 @@ describe('SudoModeController', function() {
     this.UserGetter = { getUser: sinon.stub() }
     return (this.SudoModeController = SandboxedModule.require(modulePath, {
       requires: {
-        'logger-sharelatex': { log: sinon.stub(), err: sinon.stub() },
+        'logger-sharelatex': {
+          log: sinon.stub(),
+          warn: sinon.stub(),
+          err: sinon.stub()
+        },
         './SudoModeHandler': this.SudoModeHandler,
         '../Authentication/AuthenticationController': this
           .AuthenticationController,

+ 5 - 1
services/web/test/unit/src/SudoMode/SudoModeMiddlewareTests.js

@@ -33,7 +33,11 @@ describe('SudoModeMiddleware', function() {
         './SudoModeHandler': this.SudoModeHandler,
         '../Authentication/AuthenticationController': this
           .AuthenticationController,
-        'logger-sharelatex': { log: sinon.stub(), err: sinon.stub() },
+        'logger-sharelatex': {
+          log: sinon.stub(),
+          warn: sinon.stub(),
+          err: sinon.stub()
+        },
         'settings-sharelatex': (this.Settings = {})
       }
     }))

+ 1 - 0
services/web/test/unit/src/Tags/TagsHandlerTests.js

@@ -43,6 +43,7 @@ describe('TagsHandler', function() {
         request: this.request,
         'logger-sharelatex': {
           log() {},
+          warn() {},
           err() {}
         }
       }

+ 5 - 1
services/web/test/unit/src/TokenAccess/TokenAccessControllerTests.js

@@ -57,7 +57,11 @@ describe('TokenAccessController', function() {
         '../../infrastructure/Features': (this.Features = {
           hasFeature: sinon.stub().returns(false)
         }),
-        'logger-sharelatex': { log: sinon.stub(), err: sinon.stub() },
+        'logger-sharelatex': {
+          log: sinon.stub(),
+          warn: sinon.stub(),
+          err: sinon.stub()
+        },
         'settings-sharelatex': {
           overleaf: {
             host: 'http://overleaf.test:5000'

+ 5 - 5
services/web/test/unit/src/Uploads/ArchiveManagerTests.js

@@ -116,7 +116,7 @@ describe('ArchiveManager', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error.called.should.equal(true)
+        return this.logger.warn.called.should.equal(true)
       })
     })
 
@@ -167,7 +167,7 @@ describe('ArchiveManager', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error.called.should.equal(true)
+        return this.logger.warn.called.should.equal(true)
       })
     })
 
@@ -317,7 +317,7 @@ describe('ArchiveManager', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error.called.should.equal(true)
+        return this.logger.warn.called.should.equal(true)
       })
 
       it('should close the zipfile', function() {
@@ -355,7 +355,7 @@ describe('ArchiveManager', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error.called.should.equal(true)
+        return this.logger.warn.called.should.equal(true)
       })
 
       it('should close the zipfile', function() {
@@ -395,7 +395,7 @@ describe('ArchiveManager', function() {
       })
 
       it('should log out the error', function() {
-        return this.logger.error.called.should.equal(true)
+        return this.logger.warn.called.should.equal(true)
       })
 
       it('should unpipe from the readstream', function() {

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff