-
Notifications
You must be signed in to change notification settings - Fork 935
Expand file tree
/
Copy pathindex.ts
More file actions
49 lines (40 loc) · 1.07 KB
/
index.ts
File metadata and controls
49 lines (40 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import {logkitten} from 'logkitten';
import type {AndroidEntry} from 'logkitten';
import {logger} from '@react-native-community/cli-tools';
const TAGS = new Set(['ReactNative', 'ReactNativeJS']);
const LEVEL_LABELS: Record<number, string> = {
10: 'V',
20: 'D',
30: 'I',
40: 'W',
50: 'E',
60: 'F',
};
function formatEntry(entry: AndroidEntry): string {
const level = LEVEL_LABELS[entry.level] ?? '?';
return `${level} | ${entry.tag}: ${entry.msg}`;
}
async function logAndroid() {
logger.info('Starting logkitten');
const emitter = logkitten({
platform: 'android',
filter: (entry: AndroidEntry) => TAGS.has(entry.tag),
});
emitter.on('entry', (entry) => {
logger.log(formatEntry(entry));
});
emitter.on('error', (error) => {
logger.log(error.message);
});
}
export default {
name: 'log-android',
description: 'starts logkitten',
func: logAndroid,
};