diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js
index 31fa9c5a364e2a4a8ce3abb0750ed9a2da2c7933..0bde47c6a0ea7249d06baf638eecb26f610e6b91 100644
--- a/lib/manager/npm/post-update/index.js
+++ b/lib/manager/npm/post-update/index.js
@@ -319,8 +319,8 @@ async function getAdditionalFiles(config, packageFiles) {
             )
           ) {
             logger.info(
-              { dependency: upgrade.depName },
-              'npm install failed for the dependency being updated - skipping branch creation'
+              { dependency: upgrade.depName, type: 'npm' },
+              'lock file failed for the dependency being updated - skipping branch creation'
             );
             throw new Error('registry-failure');
           }
@@ -368,8 +368,8 @@ async function getAdditionalFiles(config, packageFiles) {
             )
           ) {
             logger.info(
-              { dependency: upgrade.depName },
-              'yarn install failed for the dependency being updated - skipping branch creation'
+              { dependency: upgrade.depName, type: 'yarn' },
+              'lock file failed for the dependency being updated - skipping branch creation'
             );
             throw new Error('registry-failure');
           }
@@ -416,8 +416,8 @@ async function getAdditionalFiles(config, packageFiles) {
             )
           ) {
             logger.info(
-              { dependency: upgrade.depName },
-              'pnpm install failed for the dependency being updated - skipping branch creation'
+              { dependency: upgrade.depName, type: 'pnpm' },
+              'lock file failed for the dependency being updated - skipping branch creation'
             );
             throw new Error('registry-failure');
           }
@@ -484,8 +484,8 @@ async function getAdditionalFiles(config, packageFiles) {
           )
         ) {
           logger.info(
-            { dependency: upgrade.depName },
-            'yarn install failed for the dependency being updated - skipping branch creation'
+            { dependency: upgrade.depName, type: 'yarn' },
+            'lock file failed for the dependency being updated - skipping branch creation'
           );
           throw new Error('registry-failure');
         }
@@ -496,8 +496,8 @@ async function getAdditionalFiles(config, packageFiles) {
           )
         ) {
           logger.info(
-            { dependency: upgrade.depName },
-            'npm install failed for the dependency being updated - skipping branch creation'
+            { dependency: upgrade.depName, type: 'npm' },
+            'lock file failed for the dependency being updated - skipping branch creation'
           );
           throw new Error('registry-failure');
         }
diff --git a/lib/manager/npm/post-update/lerna.js b/lib/manager/npm/post-update/lerna.js
index ca973b6f29fd29b4859f75306719e9cac0bf4b29..ea824133efbfa61218823dc9dbc9d5c1a0055a6a 100644
--- a/lib/manager/npm/post-update/lerna.js
+++ b/lib/manager/npm/post-update/lerna.js
@@ -47,14 +47,16 @@ async function generateLockFiles(lernaClient, tmpDir, env) {
       'Generated lockfile'
     );
   } catch (err) /* istanbul ignore next */ {
-    logger.warn(
+    logger.info(
       {
         cmd,
         err,
         stdout,
         stderr,
+        type: 'lerna',
+        lernaClient,
       },
-      'lerna bootstrap error'
+      'lock file error'
     );
     return { error: true, stderr: stderr || err.stderr };
   }
diff --git a/lib/manager/npm/post-update/npm.js b/lib/manager/npm/post-update/npm.js
index 965e5beb4e3905f4dc7bc3d281b51dcbb9f7b406..5d4e56b08442343025d6a1156fa72be4ec750fae 100644
--- a/lib/manager/npm/post-update/npm.js
+++ b/lib/manager/npm/post-update/npm.js
@@ -70,14 +70,15 @@ async function generateLockFile(tmpDir, env, filename) {
       'Generated lockfile'
     );
   } catch (err) /* istanbul ignore next */ {
-    logger.warn(
+    logger.info(
       {
         cmd,
         err,
         stdout,
         stderr,
+        type: 'npm',
       },
-      'npm install error'
+      'lock file error'
     );
     return { error: true, stderr: err.stderr };
   }
diff --git a/lib/manager/npm/post-update/pnpm.js b/lib/manager/npm/post-update/pnpm.js
index 86c20fe5b3d7e71340307c2da57ef07d860022c5..e8fb982239dcad6f92b335045d855cabff1cef2b 100644
--- a/lib/manager/npm/post-update/pnpm.js
+++ b/lib/manager/npm/post-update/pnpm.js
@@ -12,9 +12,9 @@ async function generateLockFile(tmpDir, env) {
   let lockFile = null;
   let stdout;
   let stderr;
+  let cmd;
   try {
     const startTime = process.hrtime();
-    let cmd;
     try {
       // See if renovate is installed locally
       const installedPath = upath.join(
@@ -75,9 +75,13 @@ async function generateLockFile(tmpDir, env) {
   } catch (err) /* istanbul ignore next */ {
     logger.warn(
       {
+        cmd,
         err,
+        stdout,
+        stderr,
+        type: 'pnpm',
       },
-      'pnpm install error'
+      'lock file error'
     );
     return { error: true, stderr: err.stderr, stdout: err.stdout };
   }
diff --git a/lib/manager/npm/post-update/yarn.js b/lib/manager/npm/post-update/yarn.js
index 1d68dbb57d69af384c4d618c7b7b7dfdb674a3fd..58ae9c4e5515df3cbe1254e927f27e0ee5377874 100644
--- a/lib/manager/npm/post-update/yarn.js
+++ b/lib/manager/npm/post-update/yarn.js
@@ -78,14 +78,15 @@ async function generateLockFile(tmpDir, env) {
       'Generated lockfile'
     );
   } catch (err) /* istanbul ignore next */ {
-    logger.warn(
+    logger.info(
       {
         cmd,
         err,
         stdout,
         stderr,
+        type: 'yarn',
       },
-      'yarn install error'
+      'lock file error'
     );
     if (err.stderr && err.stderr.includes('ENOSPC: no space left on device')) {
       throw new Error('Out of disk space when generating yarn.lock');