diff --git a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java index 9843a27..0717506 100644 --- a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java +++ b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java @@ -265,12 +265,13 @@ public class BotAdminCommandProcess { pageQuality ); - RandomIntervalSendTimer.createTimer( + RandomIntervalSendTimer timer = RandomIntervalSendTimer.createTimer( id, sender, setting.get("time.min").getAsLong(), setting.get("time.float").getAsInt(), true, true); + log.info("群组 {} 已创建对应Timer: {}", id, Integer.toHexString(timer.hashCode())); } /** diff --git a/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java b/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java index 1e91ed5..693ce69 100644 --- a/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java +++ b/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java @@ -1,5 +1,6 @@ package net.lamgc.cgj.bot; +import com.google.common.base.Throwables; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -120,7 +121,11 @@ public class RandomIntervalSendTimer extends TimerTask { @Override public void run() { - sender.send(); + try { + sender.send(); + } catch (Exception e) { + log.error("定时器 {} 执行时发生异常:\n{}", Integer.toHexString(this.hashCode()), Throwables.getStackTraceAsString(e)); + } if (this.loop.get()) { start(); } diff --git a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java index 4ee9a19..3589eeb 100644 --- a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java +++ b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java @@ -319,12 +319,13 @@ public class PixivDownload { HttpGet request = createHttpGetRequest(PixivURL.getRankingLink(contentType, mode, time, pageIndex, true)); log.debug("RequestUri: {}", request.getURI()); HttpResponse response = httpClient.execute(request); - + String responseBody = EntityUtils.toString(response.getEntity()); + log.debug("ResponseBody: {}", responseBody); if(response.getStatusLine().getStatusCode() != 200) { throw new IOException("Http Response Error: " + response.getStatusLine()); } - JsonArray resultArray = gson.fromJson(EntityUtils.toString(response.getEntity()), JsonObject.class).getAsJsonArray("contents"); + JsonArray resultArray = gson.fromJson(responseBody, JsonObject.class).getAsJsonArray("contents"); for (int resultIndex = startIndex; resultIndex < resultArray.size() && count < range; resultIndex++, count++) { results.add(resultArray.get(resultIndex).getAsJsonObject()); }