You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.0 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.attachLoggerStream = attachLoggerStream;
exports.clearNotification = clearNotification;
exports.getLogger = getLogger;
exports.logDebug = logDebug;
exports.logError = logError;
exports.logInfo = logInfo;
exports.logWarning = logWarning;
exports.logWithLevel = logWithLevel;
function _path() {
const data = _interopRequireDefault(require("path"));
_path = function () {
return data;
};
return data;
}
function _internal() {
const data = require("../internal");
_internal = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const MAX_MESSAGE_LENGTH = 200;
const _projectRootToLogger = {};
function _getLogger(projectRoot) {
let logger = _projectRootToLogger[projectRoot];
if (!logger) {
logger = _internal().Logger.child({
type: 'project',
project: _path().default.resolve(projectRoot)
});
_projectRootToLogger[projectRoot] = logger;
}
return logger;
}
function getLogger(projectRoot) {
return _getLogger(projectRoot);
}
function logWithLevel(projectRoot, level, fields, msg, id) {
if (id) {
fields.issueId = id;
}
const logger = _getLogger(projectRoot);
switch (level) {
case 'debug':
logger.debug(fields, msg);
break;
case 'info':
logger.info(fields, msg);
break;
case 'warn':
logger.warn(fields, msg);
break;
case 'error':
logger.error(fields, msg);
break;
default:
logger.debug(fields, msg);
break;
}
}
function logDebug(projectRoot, tag, message, id) {
_getLogger(projectRoot).debug({
tag
}, message.toString());
}
function logInfo(projectRoot, tag, message, id) {
const fields = {
tag
};
if (id) {
fields.issueId = id;
}
_getLogger(projectRoot).info(fields, message.toString());
}
function logError(projectRoot, tag, message, id) {
const fields = {
tag
};
if (id) {
fields.issueId = id;
}
_getLogger(projectRoot).error(fields, message.toString());
let truncatedMessage = message.toString();
if (truncatedMessage.length > MAX_MESSAGE_LENGTH) {
truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH);
}
}
function logWarning(projectRoot, tag, message, id) {
const fields = {
tag
};
if (id) {
fields.issueId = id;
}
_getLogger(projectRoot).warn(fields, message.toString());
let truncatedMessage = message.toString();
if (truncatedMessage.length > MAX_MESSAGE_LENGTH) {
truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH);
}
_internal().Analytics.logEvent('Project Warning', {
tag,
message: truncatedMessage
});
}
function clearNotification(projectRoot, id) {
_getLogger(projectRoot).info({
tag: 'expo',
issueCleared: true,
issueId: id
}, `No issue with ${id}`);
}
function attachLoggerStream(projectRoot, stream) {
_getLogger(projectRoot).addStream(stream);
}
//# sourceMappingURL=ProjectUtils.js.map