diff --git a/src/backups.js b/src/backups.js index d5d846a55..cef2c6495 100644 --- a/src/backups.js +++ b/src/backups.js @@ -1017,9 +1017,9 @@ function startBackupTask(auditSource, callback) { task.on('finish', (error, result) => { locker.unlock(locker.OP_FULL_BACKUP); - const errorMessage = error ? util.inspect(result, { depth: 10, showHidden: true }) : ''; + const errorMessage = error ? error.message : ''; - eventlog.add(eventlog.ACTION_BACKUP_FINISH, auditSource, { errorMessage: errorMessage, backupId: result }); + eventlog.add(eventlog.ACTION_BACKUP_FINISH, auditSource, { taskId: task.id, errorMessage: errorMessage, backupId: result }); }); } diff --git a/src/notifications.js b/src/notifications.js index 9a1332684..c7fa62239 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -275,14 +275,15 @@ function certificateRenewalError(eventId, vhost, errorMessage, callback) { }, callback); } -function backupFailed(eventId, errorMessage, callback) { +function backupFailed(eventId, taskId, errorMessage, callback) { assert.strictEqual(typeof eventId, 'string'); + assert.strictEqual(typeof taskId, 'string'); assert.strictEqual(typeof errorMessage, 'string'); assert.strictEqual(typeof callback, 'function'); actionForAllAdmins([], function (admin, callback) { mailer.backupFailed(errorMessage); - add(admin.id, eventId, 'Failed to backup', `Backup failed: ${errorMessage}. Will be retried in 4 hours`, callback); + add(admin.id, eventId, 'Failed to backup', `Backup failed: ${errorMessage}. Logs are available [here](/logs.html?taskId=${taskId}). Will be retried in 4 hours`, callback); }, callback); } @@ -346,7 +347,7 @@ function onEvent(id, action, source, data, callback) { case eventlog.ACTION_CERTIFICATE_NEW: return data.errorMessage ? certificateRenewalError(id, data.domain, data.errorMessage, callback): callback(); - case eventlog.ACTION_BACKUP_FINISH: return data.errorMessage ? backupFailed(id, data.errorMessage, callback) : callback(); + case eventlog.ACTION_BACKUP_FINISH: return data.errorMessage ? backupFailed(id, data.taskId, data.errorMessage, callback) : callback(); default: return callback(); } diff --git a/src/tasks.js b/src/tasks.js index 02c156b18..2eca05721 100644 --- a/src/tasks.js +++ b/src/tasks.js @@ -137,6 +137,7 @@ function startTask(type, args) { }); }); + events.id = taskId; events.emit('start', taskId); });