in functions/src/util.ts [14:83]
write(data: any) {
let log = console.log;
let level = 'info';
if(data.level === 60) {// fatal
log = console.error;
level = 'fatal';
} else if(data.level === 50) {// error
log = console.error;
level = 'error';
} else if(data.level === 40) {// warn
log = console.warn;
level = 'warn';
} else if(data.level === 30) {// info
level = 'info';
log = console.info;
} else if(data.level === 20) {// debug
level = 'debug';
log = console.log;
} else if(data.level === 10) {// trace
level = 'trace';
log = console.log;
}
let event = '';
let extraData = '';
const context = data.context;
if(context) {
event = context.name;
const payload = data.context.payload;
let path = '';
switch(event) {
case 'pull_request':
path = payload.pull_request.html_url;
break;
case 'pull_request_review':
path = payload.review.html_url;
break;
case 'issues':
path = payload.issue.html_url;
break;
case 'push':
path = payload.compare;
break;
case 'status':
path = payload.commit.html_url;
break;
case 'installation':
path = payload.installation.html_url;
break;
case 'installation_repositories':
path = payload.installation.html_url;
break;
}
if(payload.action) {
event += `.${payload.action}`;
}
event = `[${event}]`;
extraData = ` [${context.id}|${path}]`;
if(context.id) {
this.store.collection('events').doc(context.id).set(context.payload).catch(err => {
throw err;
});
}
}
log(`[${level}]${event} ${typeof data === 'object' ? (data.err && data.err.stack ? data.err.stack : data.msg) : data}${extraData}`);
}