Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b776111

Browse files
author
欧如栋
committed
修复无法记录日志的问题
1 parent fc5c9b5 commit b776111

File tree

4 files changed

+63
-35
lines changed

4 files changed

+63
-35
lines changed

‎bin/index.js‎

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ const upload = async (filePath, parts = [], requestUrl) => {
7474
} else {
7575
console.log(chalk.red('网络连接异常,请重新执行命令继续上传'));
7676
logger.error(`分片(${currentChunkIndex})上传时网络连接异常 (path: ${filePath}) , url: ${requestUrl})`);
77-
await logger.close();
78-
process.exit(1);
77+
await logger.close(()=>process.exit(1));
78+
throwerror;
7979
}
8080
} else {
8181
console.log(chalk.red((error.response && error.response.data) || error.message));
82-
await logger.close();
83-
process.exit(1);
82+
await logger.close(()=>process.exit(1));
83+
throwerror;
8484
}
8585
}
8686
}
@@ -121,8 +121,8 @@ const upload = async (filePath, parts = [], requestUrl) => {
121121
logger.error(error.message);
122122
logger.error(error.stack);
123123
console.log(chalk(error.message));
124-
await logger.close();
125-
process.exit(1);
124+
await logger.close(()=>process.exit(1));
125+
throwerror;
126126
}
127127

128128

@@ -153,8 +153,8 @@ const upload = async (filePath, parts = [], requestUrl) => {
153153
logger.error(error.message);
154154
logger.error(error.stack);
155155
console.log(chalk.red((error.response && error.response.data) || error.message));
156-
await logger.close();
157-
process.exit(1);
156+
await logger.close(()=>process.exit(1));
157+
throwerror;
158158
}
159159

160160
console.log(chalk.green(`\n上传完毕 (${filePath})\n`))
@@ -189,9 +189,9 @@ const getFileMD5Success = async (filePath, requestUrl) => {
189189
logger.error(`获取已上传信息错误(2) (path: ${filePath} , url: ${requestUrl})`);
190190
logger.error(error.message);
191191
logger.error(error.stack);
192-
console.log(chalk.red((error.response && error.response.data) || error.message));
193-
await logger.close();
194-
process.exit(1);
192+
console.log(chalk.red((error.response && error.response.data) || error.message),`(path: ${filePath} , url: ${requestUrl}`);
193+
await logger.close(()=>process.exit(1));
194+
throwerror;
195195
}
196196

197197
await upload(filePath, uploadedParts, requestUrl);
@@ -233,8 +233,8 @@ const getFileMD5 = async (filePath, requestUrl) => {
233233
console.log(chalk.red((error.response && error.response.data) || error.message));
234234
logger.error(error.message);
235235
logger.error(error.stack);
236-
await logger.close();
237-
process.exit(1);
236+
await logger.close(()=>process.exit(1));
237+
throwerror;
238238
}
239239
}
240240

@@ -269,8 +269,8 @@ const uploadDir = async (dir) => {
269269
console.log(chalk.red((error.response && error.response.data) || error.message));
270270
logger.error(error.message);
271271
logger.error(error.stack);
272-
await logger.close();
273-
process.exit(1);
272+
await logger.close(()=>process.exit(1));
273+
throwerror;
274274
} else {
275275
return files;
276276
}
@@ -298,12 +298,10 @@ const beforeUpload = async (filePath) => {
298298
const isDirectory = stat.isDirectory();
299299
if (isDirectory && !isUploadDir) {
300300
console.log(chalk.red(`\n${filePath}不合法,需指定一个文件\n`))
301-
await logger.close();
302-
process.exit(1);
301+
await logger.close(() => process.exit(1));
303302
} else if (!isDirectory && isUploadDir) {
304303
console.log(chalk.red(`\n${filePath}不合法,需指定一个文件夹\n`))
305-
await logger.close();
306-
process.exit(1);
304+
await logger.close(() => process.exit(1));
307305
}
308306
fSize = stat.size;
309307
} catch (error) {
@@ -314,8 +312,8 @@ const beforeUpload = async (filePath) => {
314312
logger.error(error.stack);
315313
console.log(chalk.red((error.response && error.response.data) || error.message));
316314
}
317-
await logger.close();
318-
process.exit(1);
315+
await logger.close(()=>process.exit(1));
316+
throwerror;
319317
}
320318
if (isUploadDir) {
321319
await uploadDir(filePath);

‎lib/log.js‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
const { createLogger, format, transports } = require('winston');
22
const { combine, timestamp, printf } = format;
3+
const util = require('util')
34

45
const userHome = process.env.HOME || process.env.USERPROFILE;
56

6-
const formatLog = printf(({ level, message, timestamp }) => `${timestamp} ${level}: ${JSON.stringify(message)}`);
7+
const formatLog = printf(({ level, message, timestamp }) => {
8+
return `${timestamp} ${level}: ${JSON.stringify(util.inspect(message))}`
9+
});
710
const transport = new (transports.DailyRotateFile)({
811
filename: `${userHome}/.coding/log/coding-generic/%DATE%.log`,
912
zippedArchive: true,

‎lib/request.js‎

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,35 @@
11
const axios = require('axios');
2+
const util = require('util')
3+
const logger = require('./log');
4+
5+
6+
const http = axios.create({
7+
withCredentials: true,
8+
})
9+
10+
11+
// 响应拦截器
12+
const responseSuccess = response => {
13+
return Promise.resolve(response)
14+
}
15+
16+
const responseFailed = error => {
17+
const url = error.config?.url
18+
console.error('网络请求错误', `(${url})`);
19+
logger.error(`网络请求错误 (${url})`);
20+
logger.error(JSON.stringify(util.inspect(error)));
21+
const { response } = error
22+
if (response) {
23+
console.error('网络请求错误', response.data);
24+
logger.error(response.data);
25+
logger.error(response);
26+
27+
}
28+
return Promise.reject(error)
29+
}
30+
http.interceptors.response.use(responseSuccess, responseFailed)
31+
32+
233

334
/**
435
* 获取已经上传完成的分片信息
@@ -12,10 +43,10 @@ const getExistChunks = (requestUrl, {
1243
fileSize,
1344
version,
1445
fileTag
15-
}, {
46+
}, {
1647
Authorization
1748
}) => {
18-
return axios.post(`${requestUrl}?version=${version}&fileTag=${fileTag}&fileSize=${fileSize}&action=part-init`, {}, {
49+
return http.post(`${requestUrl}?version=${version}&fileTag=${fileTag}&fileSize=${fileSize}&action=part-init`, {}, {
1950
headers: { Authorization }
2051
})
2152
}
@@ -32,22 +63,18 @@ const getExistChunks = (requestUrl, {
3263
* @param {string} Authorization
3364
*/
3465
const uploadChunk = (requestUrl, {
35-
uploadId,
66+
uploadId,
3667
version,
37-
partNumber,
38-
size,
68+
partNumber,
69+
size,
3970
currentChunk,
4071
}, {
4172
headers,
4273
Authorization
4374
}) => {
44-
return axios({
75+
return http.post(`${requestUrl}?version=${version}&uploadId=${uploadId}&partNumber=${partNumber}&size=${size}&action=part-upload`,currentChunk,{
4576
maxContentLength: Infinity,
46-
maxBodyLength: Infinity,
47-
method: 'post',
48-
url: `${requestUrl}?version=${version}&uploadId=${uploadId}&partNumber=${partNumber}&size=${size}&action=part-upload`,
49-
data: currentChunk,
50-
headers: { Authorization, ...headers }
77+
maxBodyLength: Infinity, headers: { Authorization, ...headers }
5178
})
5279
}
5380

@@ -68,7 +95,7 @@ const mergeAllChunks = (requestUrl, {
6895
}, {
6996
Authorization
7097
}) => {
71-
return axios.post(`${requestUrl}?version=${version}&uploadId=${uploadId}&fileTag=${fileTag}&size=${fileSize}&action=part-complete`, {}, {
98+
return http.post(`${requestUrl}?version=${version}&uploadId=${uploadId}&fileTag=${fileTag}&size=${fileSize}&action=part-complete`, {}, {
7299
headers: { Authorization }
73100
})
74101
}

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "coding-generic",
3-
"version": "1.2.10",
3+
"version": "1.2.11",
44
"description": "",
55
"main": "index.js",
66
"bin": {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /