UNPKG

3.08 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.attachLoggerStream = attachLoggerStream;
7exports.clearNotification = clearNotification;
8exports.getLogger = getLogger;
9exports.logDebug = logDebug;
10exports.logError = logError;
11exports.logInfo = logInfo;
12exports.logWarning = logWarning;
13exports.logWithLevel = logWithLevel;
14function _path() {
15 const data = _interopRequireDefault(require("path"));
16 _path = function () {
17 return data;
18 };
19 return data;
20}
21function _internal() {
22 const data = require("../internal");
23 _internal = function () {
24 return data;
25 };
26 return data;
27}
28function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29const MAX_MESSAGE_LENGTH = 200;
30const _projectRootToLogger = {};
31function _getLogger(projectRoot) {
32 let logger = _projectRootToLogger[projectRoot];
33 if (!logger) {
34 logger = _internal().Logger.child({
35 type: 'project',
36 project: _path().default.resolve(projectRoot)
37 });
38 _projectRootToLogger[projectRoot] = logger;
39 }
40 return logger;
41}
42function getLogger(projectRoot) {
43 return _getLogger(projectRoot);
44}
45function logWithLevel(projectRoot, level, fields, msg, id) {
46 if (id) {
47 fields.issueId = id;
48 }
49 const logger = _getLogger(projectRoot);
50 switch (level) {
51 case 'debug':
52 logger.debug(fields, msg);
53 break;
54 case 'info':
55 logger.info(fields, msg);
56 break;
57 case 'warn':
58 logger.warn(fields, msg);
59 break;
60 case 'error':
61 logger.error(fields, msg);
62 break;
63 default:
64 logger.debug(fields, msg);
65 break;
66 }
67}
68function logDebug(projectRoot, tag, message, id) {
69 _getLogger(projectRoot).debug({
70 tag
71 }, message.toString());
72}
73function logInfo(projectRoot, tag, message, id) {
74 const fields = {
75 tag
76 };
77 if (id) {
78 fields.issueId = id;
79 }
80 _getLogger(projectRoot).info(fields, message.toString());
81}
82function logError(projectRoot, tag, message, id) {
83 const fields = {
84 tag
85 };
86 if (id) {
87 fields.issueId = id;
88 }
89 _getLogger(projectRoot).error(fields, message.toString());
90 let truncatedMessage = message.toString();
91 if (truncatedMessage.length > MAX_MESSAGE_LENGTH) {
92 truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH);
93 }
94}
95function logWarning(projectRoot, tag, message, id) {
96 const fields = {
97 tag
98 };
99 if (id) {
100 fields.issueId = id;
101 }
102 _getLogger(projectRoot).warn(fields, message.toString());
103 let truncatedMessage = message.toString();
104 if (truncatedMessage.length > MAX_MESSAGE_LENGTH) {
105 truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH);
106 }
107 _internal().Analytics.logEvent('Project Warning', {
108 tag,
109 message: truncatedMessage
110 });
111}
112function clearNotification(projectRoot, id) {
113 _getLogger(projectRoot).info({
114 tag: 'expo',
115 issueCleared: true,
116 issueId: id
117 }, `No issue with ${id}`);
118}
119function attachLoggerStream(projectRoot, stream) {
120 _getLogger(projectRoot).addStream(stream);
121}
122//# sourceMappingURL=ProjectUtils.js.map
\No newline at end of file