Skip to content

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-
awaitlogger.close();
78-
process.exit(1);
77+
awaitlogger.close(()=>process.exit(1));
78+
throwerror;
7979
}
8080
}else{
8181
console.log(chalk.red((error.response&&error.response.data)||error.message));
82-
awaitlogger.close();
83-
process.exit(1);
82+
awaitlogger.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-
awaitlogger.close();
125-
process.exit(1);
124+
awaitlogger.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-
awaitlogger.close();
157-
process.exit(1);
156+
awaitlogger.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-
awaitlogger.close();
194-
process.exit(1);
192+
console.log(chalk.red((error.response&&error.response.data)||error.message),`(path: ${filePath} , url: ${requestUrl}`);
193+
awaitlogger.close(()=>process.exit(1));
194+
throwerror;
195195
}
196196

197197
awaitupload(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-
awaitlogger.close();
237-
process.exit(1);
236+
awaitlogger.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-
awaitlogger.close();
273-
process.exit(1);
272+
awaitlogger.close(()=>process.exit(1));
273+
throwerror;
274274
}else{
275275
returnfiles;
276276
}
@@ -298,12 +298,10 @@ const beforeUpload = async (filePath) =>{
298298
constisDirectory=stat.isDirectory();
299299
if(isDirectory&&!isUploadDir){
300300
console.log(chalk.red(`\n${filePath}不合法,需指定一个文件\n`))
301-
awaitlogger.close();
302-
process.exit(1);
301+
awaitlogger.close(()=>process.exit(1));
303302
}elseif(!isDirectory&&isUploadDir){
304303
console.log(chalk.red(`\n${filePath}不合法,需指定一个文件夹\n`))
305-
awaitlogger.close();
306-
process.exit(1);
304+
awaitlogger.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-
awaitlogger.close();
318-
process.exit(1);
315+
awaitlogger.close(()=>process.exit(1));
316+
throwerror;
319317
}
320318
if(isUploadDir){
321319
awaituploadDir(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+
constutil=require('util')
34

45
constuserHome=process.env.HOME||process.env.USERPROFILE;
56

6-
constformatLog=printf(({ level, message, timestamp })=>`${timestamp}${level}: ${JSON.stringify(message)}`);
7+
constformatLog=printf(({ level, message, timestamp })=>{
8+
return`${timestamp}${level}: ${JSON.stringify(util.inspect(message))}`
9+
});
710
consttransport=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
constaxios=require('axios');
2+
constutil=require('util')
3+
constlogger=require('./log');
4+
5+
6+
consthttp=axios.create({
7+
withCredentials: true,
8+
})
9+
10+
11+
// 响应拦截器
12+
constresponseSuccess=response=>{
13+
returnPromise.resolve(response)
14+
}
15+
16+
constresponseFailed=error=>{
17+
consturl=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+
returnPromise.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-
returnaxios.post(`${requestUrl}?version=${version}&fileTag=${fileTag}&fileSize=${fileSize}&action=part-init`,{},{
49+
returnhttp.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
constuploadChunk=(requestUrl,{
35-
uploadId,
66+
uploadId,
3667
version,
37-
partNumber,
38-
size,
68+
partNumber,
69+
size,
3970
currentChunk,
4071
},{
4172
headers,
4273
Authorization
4374
})=>{
44-
returnaxios({
75+
returnhttp.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-
returnaxios.post(`${requestUrl}?version=${version}&uploadId=${uploadId}&fileTag=${fileTag}&size=${fileSize}&action=part-complete`,{},{
98+
returnhttp.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)