UNPKG

1.65 kBJavaScriptView Raw
1module.exports = {
2 formatLog(level, message, metadata, type, module) {
3 if (message instanceof Error) {
4 // 如果 stacktrace 有符合条件的值,则不覆盖
5 if (metadata.stacktrace === undefined || !metadata.stacktrace instanceof Array) {
6 metadata.stacktrace = message.stack.split('\n');
7 }
8 metadata.error_code = metadata.error_code || message.code;
9 metadata.error_status = metadata.error_status || message.status;
10 message = message.message;
11 }
12
13 return {
14 env: metadata.env || '',
15 level,
16 log_type: type,
17 timestamp: Date.now(),
18 user_id: metadata.user_id || '',
19 is_login: metadata.is_login === undefined ? 0 : +metadata.is_login,
20 device_id: metadata.device_id || '',
21 message,
22 attributes: {
23 module,
24 request: Object.assign({
25 id: '',
26 url: '',
27 method: '',
28 ua: '',
29 ip: '',
30 }, metadata.request),
31 stacktrace: metadata.stacktrace || [],
32 error_code: metadata.error_code || '',
33 error_status: metadata.error_status || 0,
34 },
35 };
36 },
37 formatLogs(app, logs) {
38 return {
39 app,
40 path: '/log',
41 report_time: Date.now(),
42 runtime: {
43 plat: process.title,
44 version: process.version,
45 },
46 list: logs,
47 };
48 }
49};
\No newline at end of file