feat: Add silent log level for Cloud Code (#8803)
This commit is contained in:
@@ -16,7 +16,7 @@ export const LogOrder = {
|
||||
ASCENDING: 'asc',
|
||||
};
|
||||
|
||||
export const logLevels = ['error', 'warn', 'info', 'debug', 'verbose', 'silly'];
|
||||
export const logLevels = ['error', 'warn', 'info', 'debug', 'verbose', 'silly', 'silent'];
|
||||
|
||||
export class LoggerController extends AdaptableController {
|
||||
constructor(adapter, appId, options = { logLevel: 'info' }) {
|
||||
|
||||
@@ -141,19 +141,21 @@ export class FunctionsRouter extends PromiseRouter {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
const userString = req.auth && req.auth.user ? req.auth.user.id : undefined;
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(params));
|
||||
const { success, error } = FunctionsRouter.createResponseObject(
|
||||
result => {
|
||||
try {
|
||||
const cleanResult = logger.truncateLogMessage(JSON.stringify(result.response.result));
|
||||
logger[req.config.logLevels.cloudFunctionSuccess](
|
||||
`Ran cloud function ${functionName} for user ${userString} with:\n Input: ${cleanInput}\n Result: ${cleanResult}`,
|
||||
{
|
||||
functionName,
|
||||
params,
|
||||
user: userString,
|
||||
}
|
||||
);
|
||||
if (req.config.logLevels.cloudFunctionSuccess !== 'silent') {
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(params));
|
||||
const cleanResult = logger.truncateLogMessage(JSON.stringify(result.response.result));
|
||||
logger[req.config.logLevels.cloudFunctionSuccess](
|
||||
`Ran cloud function ${functionName} for user ${userString} with:\n Input: ${cleanInput}\n Result: ${cleanResult}`,
|
||||
{
|
||||
functionName,
|
||||
params,
|
||||
user: userString,
|
||||
}
|
||||
);
|
||||
}
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
@@ -161,16 +163,19 @@ export class FunctionsRouter extends PromiseRouter {
|
||||
},
|
||||
error => {
|
||||
try {
|
||||
logger[req.config.logLevels.cloudFunctionError](
|
||||
`Failed running cloud function ${functionName} for user ${userString} with:\n Input: ${cleanInput}\n Error: ` +
|
||||
JSON.stringify(error),
|
||||
{
|
||||
functionName,
|
||||
error,
|
||||
params,
|
||||
user: userString,
|
||||
}
|
||||
);
|
||||
if (req.config.logLevels.cloudFunctionError !== 'silent') {
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(params));
|
||||
logger[req.config.logLevels.cloudFunctionError](
|
||||
`Failed running cloud function ${functionName} for user ${userString} with:\n Input: ${cleanInput}\n Error: ` +
|
||||
JSON.stringify(error),
|
||||
{
|
||||
functionName,
|
||||
error,
|
||||
params,
|
||||
user: userString,
|
||||
}
|
||||
);
|
||||
}
|
||||
reject(error);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
|
||||
@@ -382,6 +382,9 @@ function userIdForLog(auth) {
|
||||
}
|
||||
|
||||
function logTriggerAfterHook(triggerType, className, input, auth, logLevel) {
|
||||
if (logLevel === 'silent') {
|
||||
return;
|
||||
}
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
logger[logLevel](
|
||||
`${triggerType} triggered for ${className} for user ${userIdForLog(
|
||||
@@ -396,6 +399,9 @@ function logTriggerAfterHook(triggerType, className, input, auth, logLevel) {
|
||||
}
|
||||
|
||||
function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth, logLevel) {
|
||||
if (logLevel === 'silent') {
|
||||
return;
|
||||
}
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
const cleanResult = logger.truncateLogMessage(JSON.stringify(result));
|
||||
logger[logLevel](
|
||||
@@ -411,6 +417,9 @@ function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth
|
||||
}
|
||||
|
||||
function logTriggerErrorBeforeHook(triggerType, className, input, auth, error, logLevel) {
|
||||
if (logLevel === 'silent') {
|
||||
return;
|
||||
}
|
||||
const cleanInput = logger.truncateLogMessage(JSON.stringify(input));
|
||||
logger[logLevel](
|
||||
`${triggerType} failed for ${className} for user ${userIdForLog(
|
||||
|
||||
Reference in New Issue
Block a user