feat: Add option to change the log level of the logs emitted by triggers (#8328)
This commit is contained in:
@@ -373,9 +373,9 @@ function userIdForLog(auth) {
|
||||
return auth && auth.user ? auth.user.id : undefined;
|
||||
}
|
||||
|
||||
function logTriggerAfterHook(triggerType, className, input, auth) {
|
||||
function logTriggerAfterHook(triggerType, className, input, auth, logLevel) {
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
logger.info(
|
||||
logger[logLevel](
|
||||
`${triggerType} triggered for ${className} for user ${userIdForLog(
|
||||
auth
|
||||
)}:\n Input: ${cleanInput}`,
|
||||
@@ -387,10 +387,10 @@ function logTriggerAfterHook(triggerType, className, input, auth) {
|
||||
);
|
||||
}
|
||||
|
||||
function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth) {
|
||||
function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth, logLevel) {
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
const cleanResult = logger.truncateLogMessage(JSON.stringify(result));
|
||||
logger.info(
|
||||
logger[logLevel](
|
||||
`${triggerType} triggered for ${className} for user ${userIdForLog(
|
||||
auth
|
||||
)}:\n Input: ${cleanInput}\n Result: ${cleanResult}`,
|
||||
@@ -402,9 +402,9 @@ function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth
|
||||
);
|
||||
}
|
||||
|
||||
function logTriggerErrorBeforeHook(triggerType, className, input, auth, error) {
|
||||
function logTriggerErrorBeforeHook(triggerType, className, input, auth, error, logLevel) {
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
logger.error(
|
||||
logger[logLevel](
|
||||
`${triggerType} failed for ${className} for user ${userIdForLog(
|
||||
auth
|
||||
)}:\n Input: ${cleanInput}\n Error: ${JSON.stringify(error)}`,
|
||||
@@ -444,7 +444,14 @@ export function maybeRunAfterFindTrigger(
|
||||
reject(error);
|
||||
}
|
||||
);
|
||||
logTriggerSuccessBeforeHook(triggerType, className, 'AfterFind', JSON.stringify(objects), auth);
|
||||
logTriggerSuccessBeforeHook(
|
||||
triggerType,
|
||||
className,
|
||||
'AfterFind',
|
||||
JSON.stringify(objects),
|
||||
auth,
|
||||
config.logLevels.triggerBeforeSuccess
|
||||
);
|
||||
request.objects = objects.map(object => {
|
||||
//setting the class name to transform into parse object
|
||||
object.className = className;
|
||||
@@ -468,7 +475,13 @@ export function maybeRunAfterFindTrigger(
|
||||
})
|
||||
.then(success, error);
|
||||
}).then(results => {
|
||||
logTriggerAfterHook(triggerType, className, JSON.stringify(results), auth);
|
||||
logTriggerAfterHook(
|
||||
triggerType,
|
||||
className,
|
||||
JSON.stringify(results),
|
||||
auth,
|
||||
config.logLevels.triggerAfter
|
||||
);
|
||||
return results;
|
||||
});
|
||||
}
|
||||
@@ -842,7 +855,10 @@ export function maybeRunTrigger(
|
||||
parseObject.className,
|
||||
parseObject.toJSON(),
|
||||
object,
|
||||
auth
|
||||
auth,
|
||||
triggerType.startsWith('after')
|
||||
? config.logLevels.triggerAfter
|
||||
: config.logLevels.triggerBeforeSuccess
|
||||
);
|
||||
if (
|
||||
triggerType === Types.beforeSave ||
|
||||
@@ -860,7 +876,8 @@ export function maybeRunTrigger(
|
||||
parseObject.className,
|
||||
parseObject.toJSON(),
|
||||
auth,
|
||||
error
|
||||
error,
|
||||
config.logLevels.triggerBeforeError
|
||||
);
|
||||
reject(error);
|
||||
}
|
||||
@@ -885,7 +902,13 @@ export function maybeRunTrigger(
|
||||
triggerType === Types.afterDelete ||
|
||||
triggerType === Types.afterLogin
|
||||
) {
|
||||
logTriggerAfterHook(triggerType, parseObject.className, parseObject.toJSON(), auth);
|
||||
logTriggerAfterHook(
|
||||
triggerType,
|
||||
parseObject.className,
|
||||
parseObject.toJSON(),
|
||||
auth,
|
||||
config.logLevels.triggerAfter
|
||||
);
|
||||
}
|
||||
// beforeSave is expected to return null (nothing)
|
||||
if (triggerType === Types.beforeSave) {
|
||||
@@ -965,7 +988,8 @@ export async function maybeRunFileTrigger(triggerType, fileObject, config, auth)
|
||||
'Parse.File',
|
||||
{ ...fileObject.file.toJSON(), fileSize: fileObject.fileSize },
|
||||
result,
|
||||
auth
|
||||
auth,
|
||||
config.logLevels.triggerBeforeSuccess
|
||||
);
|
||||
return result || fileObject;
|
||||
} catch (error) {
|
||||
@@ -974,7 +998,8 @@ export async function maybeRunFileTrigger(triggerType, fileObject, config, auth)
|
||||
'Parse.File',
|
||||
{ ...fileObject.file.toJSON(), fileSize: fileObject.fileSize },
|
||||
auth,
|
||||
error
|
||||
error,
|
||||
config.logLevels.triggerBeforeError
|
||||
);
|
||||
throw error;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user