Skip to content

Instantly share code, notes, and snippets.

@yohanmishkin
Created December 5, 2017 15:22
Show Gist options
  • Save yohanmishkin/5a6468df057a11011be3b2b06849983e to your computer and use it in GitHub Desktop.
Save yohanmishkin/5a6468df057a11011be3b2b06849983e to your computer and use it in GitHub Desktop.
Better mirage logging
server.pretender.handledRequest = function(verb, path, request) {
if (server.shouldLog()) {
let { responseText, requestBody } = request;
let logData = {};
if (requestBody) {
let loggedRequest;
try {
loggedRequest = JSON.parse(requestBody);
} catch(e) {
loggedRequest = requestBody;
}
logData.request = loggedRequest;
}
let loggedResponse;
try {
loggedResponse = JSON.parse(responseText);
} catch(e) {
loggedResponse = responseText;
}
logData.response = loggedResponse;
logData.url = request.url;
logData.status = request.status;
logData.queryParams = request.queryParams;
logData.raw = request;
let displayUrl = request.url.replace(server.urlPrefix, '');
if (displayUrl.length > 50) {
displayUrl = `${displayUrl.substring(0, 47)}...`;
}
console.log(`${request.status} ${verb.toUpperCase()} ${displayUrl}`, { details: logData });
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment