fhir-kit-client
Version:
50 lines • 1.61 kB
JavaScript
import createDebug from 'debug';
import stringify from 'json-stringify-safe';
const errorLogger = createDebug('fhir-kit-client:error');
const infoLogger = createDebug('fhir-kit-client:info');
function inspectHeaders(headers) {
if (headers !== null &&
typeof headers === 'object' &&
'raw' in headers &&
typeof headers.raw === 'function') {
return stringify(headers.raw());
}
return stringify(headers);
}
export function logRequestError(error) {
if (!errorLogger.enabled)
return;
errorLogger('!!! Error');
if (error.response) {
errorLogger(` Status: ${error.response.status}`);
}
if (error.config) {
errorLogger(` ${(error.config.method ?? '').toUpperCase()}: ${error.config.url}`);
errorLogger(` Headers: ${inspectHeaders(error.config.headers)}`);
}
if (error.response?.data) {
errorLogger(stringify(error.response.data));
}
errorLogger('!!! Request Error');
}
export function logRequestInfo(action, url, headers) {
if (!infoLogger.enabled)
return;
if (url)
infoLogger(`Request: ${action.toUpperCase()} ${url}`);
if (headers !== undefined)
infoLogger(`Request Headers: ${inspectHeaders(headers)}`);
}
export function logResponseInfo(response) {
if (!infoLogger.enabled)
return;
infoLogger(`Response: ${response.status}`);
if (response.data)
infoLogger(stringify(response.data));
}
export function logError(error) {
if (!errorLogger.enabled)
return;
errorLogger(error);
}
//# sourceMappingURL=logging.js.map