mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2025-12-17 04:43:02 +00:00
优化细节
This commit is contained in:
@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 响应实体 用于和前端交互
|
* 响应实体 用于和前端交互
|
||||||
@@ -144,7 +145,11 @@ public class JsonResult<T> implements Serializable {
|
|||||||
|
|
||||||
// 响应数据实体
|
// 响应数据实体
|
||||||
public static <T> JsonResult<T> data(T data) {
|
public static <T> JsonResult<T> data(T data) {
|
||||||
return new JsonResult<>(SUCCESS_CODE, SUCCESS_MESSAGE, true, data, 0);
|
int count = 0;
|
||||||
|
if (data instanceof List<?>) {
|
||||||
|
count = ((List<?>) data).size();
|
||||||
|
}
|
||||||
|
return new JsonResult<>(SUCCESS_CODE, SUCCESS_MESSAGE, true, data, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 响应数据实体
|
// 响应数据实体
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<configuration>
|
|
||||||
|
|
||||||
<!-- 日志自定义颜色 -->
|
|
||||||
<!-- https://logback.qos.ch/manual/layouts.html#coloring -->
|
|
||||||
|
|
||||||
<!--日志文件主目录:这里${user.home}为当前服务器用户主目录-->
|
|
||||||
<property name="LOG_HOME" value="logs"/>
|
|
||||||
|
|
||||||
<property name="LOGBACK_DEFAULT" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
|
|
||||||
<property name="CUSTOMER_PATTERN2" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) -> %magenta([%15.15thread]) %cyan(%-40.40logger{39}) : %msg%n"/>
|
|
||||||
|
|
||||||
<!--配置日志文件(File)-->
|
|
||||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
||||||
<!--设置策略-->
|
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
|
||||||
<!--日志文件路径:这里%d{yyyyMMdd}表示按天分类日志-->
|
|
||||||
<FileNamePattern>${LOG_HOME}/%d{yyyyMMdd}/run.log</FileNamePattern>
|
|
||||||
<!--日志保留天数-->
|
|
||||||
<MaxHistory>15</MaxHistory>
|
|
||||||
</rollingPolicy>
|
|
||||||
<!--设置格式-->
|
|
||||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
||||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
|
||||||
<!-- 或者使用默认配置 -->
|
|
||||||
<!--<pattern>${FILE_LOG_PATTERN}</pattern>-->
|
|
||||||
<charset>utf8</charset>
|
|
||||||
</encoder>
|
|
||||||
<!--日志文件最大的大小-->
|
|
||||||
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
|
||||||
<MaxFileSize>100MB</MaxFileSize>
|
|
||||||
</triggeringPolicy>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<!-- 将文件输出设置成异步输出 -->
|
|
||||||
<appender name="ASYNC-FILE" class="ch.qos.logback.classic.AsyncAppender">
|
|
||||||
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
|
|
||||||
<discardingThreshold>0</discardingThreshold>
|
|
||||||
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
|
|
||||||
<queueSize>256</queueSize>
|
|
||||||
<!-- 添加附加的appender,最多只能添加一个 -->
|
|
||||||
<appender-ref ref="FILE"/>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
||||||
<encoder>
|
|
||||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
||||||
<pattern>${CUSTOMER_PATTERN2}</pattern>
|
|
||||||
</encoder>
|
|
||||||
</appender>
|
|
||||||
<logger name="io.netty" level="warn"/>
|
|
||||||
<logger name="io.vertx" level="info"/>
|
|
||||||
<root level="debug">
|
|
||||||
<appender-ref ref="STDOUT"/>
|
|
||||||
<appender-ref ref="FILE"/>
|
|
||||||
</root>
|
|
||||||
</configuration>
|
|
||||||
@@ -98,6 +98,14 @@ public abstract class PanBase implements IPanTool {
|
|||||||
protected PanBase() {
|
protected PanBase() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String baseMsg() {
|
||||||
|
if (shareLinkInfo.getShareUrl() != null) {
|
||||||
|
return shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + ": url=" + shareLinkInfo.getShareUrl();
|
||||||
|
}
|
||||||
|
return shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + ": key=" + shareLinkInfo.getShareKey() +
|
||||||
|
";pwd=" + shareLinkInfo.getSharePassword();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 失败时生成异常消息
|
* 失败时生成异常消息
|
||||||
@@ -110,11 +118,11 @@ public abstract class PanBase implements IPanTool {
|
|||||||
try {
|
try {
|
||||||
String s = String.format(errorMsg.replaceAll("\\{}", "%s"), args);
|
String s = String.format(errorMsg.replaceAll("\\{}", "%s"), args);
|
||||||
log.error("解析异常: " + s, t.fillInStackTrace());
|
log.error("解析异常: " + s, t.fillInStackTrace());
|
||||||
promise.fail(shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + ": 解析异常: " + s + " -> " + t);
|
promise.fail(baseMsg() + ": 解析异常: " + s + " -> " + t);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("ErrorMsg format fail. The parameter has been discarded", e);
|
log.error("ErrorMsg format fail. The parameter has been discarded", e);
|
||||||
log.error("解析异常: " + errorMsg, t.fillInStackTrace());
|
log.error("解析异常: " + errorMsg, t.fillInStackTrace());
|
||||||
promise.fail(shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + ": 解析异常: " + errorMsg + " -> " + t);
|
promise.fail(baseMsg() + ": 解析异常: " + errorMsg + " -> " + t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,10 +135,10 @@ public abstract class PanBase implements IPanTool {
|
|||||||
protected void fail(String errorMsg, Object... args) {
|
protected void fail(String errorMsg, Object... args) {
|
||||||
try {
|
try {
|
||||||
String s = String.format(errorMsg.replaceAll("\\{}", "%s"), args);
|
String s = String.format(errorMsg.replaceAll("\\{}", "%s"), args);
|
||||||
promise.fail(shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + " - 解析异常: " + s);
|
promise.fail(baseMsg() + " - 解析异常: " + s);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("ErrorMsg format fail. The parameter has been discarded", e);
|
log.error("ErrorMsg format fail. The parameter has been discarded", e);
|
||||||
promise.fail(shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + " - 解析异常: " + errorMsg);
|
promise.fail(baseMsg() + " - 解析异常: " + errorMsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,7 +153,7 @@ public abstract class PanBase implements IPanTool {
|
|||||||
* @return Handler
|
* @return Handler
|
||||||
*/
|
*/
|
||||||
protected Handler<Throwable> handleFail(String errorMsg) {
|
protected Handler<Throwable> handleFail(String errorMsg) {
|
||||||
return t -> fail(shareLinkInfo.getPanName() + "-" + shareLinkInfo.getType() + " - 请求异常 {}: -> {}", errorMsg, t.fillInStackTrace());
|
return t -> fail(baseMsg() + " - 请求异常 {}: -> {}", errorMsg, t.fillInStackTrace());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Handler<Throwable> handleFail() {
|
protected Handler<Throwable> handleFail() {
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public class LzTool extends PanBase {
|
|||||||
client.postAbs(url).putHeaders(headers).sendForm(map).onSuccess(res2 -> {
|
client.postAbs(url).putHeaders(headers).sendForm(map).onSuccess(res2 -> {
|
||||||
JsonObject fileListJson = asJson(res2);
|
JsonObject fileListJson = asJson(res2);
|
||||||
if (fileListJson.getInteger("zt") != 1) {
|
if (fileListJson.getInteger("zt") != 1) {
|
||||||
fail(fileListJson.getString("inf"));
|
promise.fail(baseMsg() + fileListJson.getString("info"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<FileInfo> list = new ArrayList<>();
|
List<FileInfo> list = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user