diff --git a/src/main/java/net/lamgc/cgj/bot/BotCode.java b/src/main/java/net/lamgc/cgj/bot/BotCode.java index 22b4b04..9c8b1a7 100644 --- a/src/main/java/net/lamgc/cgj/bot/BotCode.java +++ b/src/main/java/net/lamgc/cgj/bot/BotCode.java @@ -64,7 +64,7 @@ public class BotCode { private String platformName; private String functionName; - private Hashtable parameter = new Hashtable<>(); + private final Hashtable parameter = new Hashtable<>(); /** * 构造一个机器功能码 diff --git a/src/main/java/net/lamgc/cgj/bot/cache/CacheStoreCentral.java b/src/main/java/net/lamgc/cgj/bot/cache/CacheStoreCentral.java index 84b6cd3..af965fa 100644 --- a/src/main/java/net/lamgc/cgj/bot/cache/CacheStoreCentral.java +++ b/src/main/java/net/lamgc/cgj/bot/cache/CacheStoreCentral.java @@ -164,10 +164,10 @@ public final class CacheStoreCentral { ImageChecksum imageChecksum = getImageChecksum(illustId, pageIndex); if(imageChecksum != null) { try { - log.debug("正在检查作品Id {} 第 {} 页图片文件 {} ...", illustId, pageIndex, imageFile.getName()); + log.trace("正在检查作品Id {} 第 {} 页图片文件 {} ...", illustId, pageIndex, imageFile.getName()); if (ImageChecksum.checkFile(imageChecksum, Files.readAllBytes(imageFile.toPath()))) { imageCache.put(URLs.getResourceName(downloadLink), imageFile); - log.debug("作品Id {} 第 {} 页缓存已补充.", illustId, pageIndex); + log.trace("作品Id {} 第 {} 页缓存已补充.", illustId, pageIndex); return getImageToBotCode(imageFile, false).toString(); } else { log.warn("图片文件 {} 校验失败, 重新下载图片...", imageFile.getName()); @@ -194,7 +194,7 @@ public final class CacheStoreCentral { return "(错误: 图片获取出错)"; } } else { - log.debug("图片 {} 缓存命中.", fileName); + log.trace("图片 {} 缓存命中.", fileName); } return getImageToBotCode(imageCache.get(fileName), false).toString(); @@ -240,7 +240,7 @@ public final class CacheStoreCentral { if(Objects.isNull(illustInfoObj)) { illustInfoObj = illustInfoCache.getCache(illustIdStr).getAsJsonObject(); - log.debug("作品Id {} IllustInfo缓存命中.", illustId); + log.trace("作品Id {} IllustInfo缓存命中.", illustId); } return illustInfoObj; } @@ -259,7 +259,7 @@ public final class CacheStoreCentral { if (!illustPreLoadDataCache.exists(illustIdStr) || flushCache) { synchronized (illustIdStr) { if (!illustPreLoadDataCache.exists(illustIdStr) || flushCache) { - log.debug("IllustId {} 缓存失效, 正在更新...", illustId); + log.trace("IllustId {} 缓存失效, 正在更新...", illustId); JsonObject preLoadDataObj = BotGlobal.getGlobal().getPixivDownload() .getIllustPreLoadDataById(illustId) .getAsJsonObject("illust") @@ -277,14 +277,14 @@ public final class CacheStoreCentral { result = preLoadDataObj; illustPreLoadDataCache.update(illustIdStr, preLoadDataObj, expire); - log.debug("作品Id {} preLoadData缓存已更新(有效时间: {})", illustId, expire); + log.trace("作品Id {} preLoadData缓存已更新(有效时间: {})", illustId, expire); } } } if(Objects.isNull(result)) { result = illustPreLoadDataCache.getCache(illustIdStr).getAsJsonObject(); - log.debug("作品Id {} PreLoadData缓存命中.", illustId); + log.trace("作品Id {} PreLoadData缓存命中.", illustId); } return result; } @@ -307,7 +307,7 @@ public final class CacheStoreCentral { if(Objects.isNull(result)) { result = pagesCache.getCache(pagesSign); - log.debug("作品Id {} Pages缓存命中.", illustId); + log.trace("作品Id {} Pages缓存命中.", illustId); } return result; } @@ -346,7 +346,7 @@ public final class CacheStoreCentral { if(!rankingCache.exists(requestSign) || flushCache) { synchronized(requestSign) { if(!rankingCache.exists(requestSign) || flushCache) { - log.debug("Ranking缓存失效, 正在更新...(RequestSign: {})", requestSign); + log.trace("Ranking缓存失效, 正在更新...(RequestSign: {})", requestSign); List rankingResult = BotGlobal.getGlobal().getPixivDownload() .getRanking(contentType, mode, queryDate, 1, 500); long expireTime = 0; @@ -356,16 +356,15 @@ public final class CacheStoreCentral { } result = new ArrayList<>(rankingResult).subList(start - 1, start + range - 1); rankingCache.update(requestSign, rankingResult, expireTime); - log.debug("Ranking缓存更新完成.(RequestSign: {})", requestSign); + log.trace("Ranking缓存更新完成.(RequestSign: {})", requestSign); } } } if (Objects.isNull(result)) { result = rankingCache.getCache(requestSign, start - 1, range); - log.debug("RequestSign [{}] 缓存命中.", requestSign); + log.trace("RequestSign [{}] 缓存命中.", requestSign); } - log.debug("Result-Length: {}", result.size()); return PixivDownload.getRanking(result, start - 1, range); } @@ -414,14 +413,14 @@ public final class CacheStoreCentral { for (String keyword : includeKeywords.split(";")) { searchBuilder.removeExcludeKeyword(keyword.trim()); searchBuilder.addIncludeKeyword(keyword.trim()); - log.debug("已添加关键字: {}", keyword); + log.trace("已添加关键字: {}", keyword); } } if (!Strings.isNullOrEmpty(excludeKeywords)) { for (String keyword : excludeKeywords.split(";")) { searchBuilder.removeIncludeKeyword(keyword.trim()); searchBuilder.addExcludeKeyword(keyword.trim()); - log.debug("已添加排除关键字: {}", keyword); + log.trace("已添加排除关键字: {}", keyword); } } @@ -433,7 +432,7 @@ public final class CacheStoreCentral { if(!searchBodyCache.exists(requestUrl)) { synchronized (requestUrl) { if (!searchBodyCache.exists(requestUrl)) { - log.debug("searchBody缓存失效, 正在更新..."); + log.trace("searchBody缓存失效, 正在更新..."); JsonObject jsonObject; HttpGet httpGetRequest = BotGlobal.getGlobal().getPixivDownload(). createHttpGetRequest(requestUrl); @@ -441,7 +440,7 @@ public final class CacheStoreCentral { getHttpClient().execute(httpGetRequest); String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); - log.debug("ResponseBody: {}", responseBody); + log.trace("ResponseBody: {}", responseBody); jsonObject = BotGlobal.getGlobal().getGson().fromJson(responseBody, JsonObject.class); if (jsonObject.get("error").getAsBoolean()) { @@ -459,13 +458,13 @@ public final class CacheStoreCentral { } resultBody = jsonObject.getAsJsonObject().getAsJsonObject("body"); searchBodyCache.update(requestUrl, jsonObject, expire); - log.debug("searchBody缓存已更新(有效时间: {})", expire); + log.trace("searchBody缓存已更新(有效时间: {})", expire); } else { - log.debug("搜索缓存命中."); + log.trace("搜索缓存命中."); } } } else { - log.debug("搜索缓存命中."); + log.trace("搜索缓存命中."); } if(Objects.isNull(resultBody)) { diff --git a/src/main/java/net/lamgc/cgj/bot/cache/ImageCacheHandler.java b/src/main/java/net/lamgc/cgj/bot/cache/ImageCacheHandler.java index 9020ec0..a7f88db 100644 --- a/src/main/java/net/lamgc/cgj/bot/cache/ImageCacheHandler.java +++ b/src/main/java/net/lamgc/cgj/bot/cache/ImageCacheHandler.java @@ -66,7 +66,7 @@ public class ImageCacheHandler implements EventHandler { throw requestException; } - log.debug("正在下载...(Content-Length: {}KB)", response.getEntity().getContentLength() / 1024); + log.trace("正在下载...(Content-Length: {}KB)", response.getEntity().getContentLength() / 1024); ByteArrayOutputStream bufferOutputStream = new ByteArrayOutputStream(); try(FileOutputStream fileOutputStream = new FileOutputStream(storeFile)) { Streams.copy(response.getEntity().getContent(), bufferOutputStream, false); diff --git a/src/main/java/net/lamgc/cgj/bot/cache/LocalHashCacheStore.java b/src/main/java/net/lamgc/cgj/bot/cache/LocalHashCacheStore.java index d5c63b1..a5c75ef 100644 --- a/src/main/java/net/lamgc/cgj/bot/cache/LocalHashCacheStore.java +++ b/src/main/java/net/lamgc/cgj/bot/cache/LocalHashCacheStore.java @@ -149,7 +149,7 @@ public class LocalHashCacheStore implements CacheStore, Cleanable { } @Override - public void clean() throws Exception { + public void clean() { Date currentDate = new Date(); cache.forEach((key, value) -> { if(value.isExpire(currentDate)) { @@ -160,8 +160,8 @@ public class LocalHashCacheStore implements CacheStore, Cleanable { public static class CacheObject implements Comparable> { - private AtomicReference value; - private AtomicReference expire; + private final AtomicReference value; + private final AtomicReference expire; public CacheObject(T value, Date expire) { this.value = new AtomicReference<>(value); diff --git a/src/main/java/net/lamgc/cgj/bot/event/BotEventHandler.java b/src/main/java/net/lamgc/cgj/bot/event/BotEventHandler.java index 4dc574f..6902669 100644 --- a/src/main/java/net/lamgc/cgj/bot/event/BotEventHandler.java +++ b/src/main/java/net/lamgc/cgj/bot/event/BotEventHandler.java @@ -105,8 +105,6 @@ public class BotEventHandler implements EventHandler { runnerConfig.addStringParameterParser(new DateParser(new SimpleDateFormat("yyyy-MM-dd"))); runnerConfig.addStringParameterParser(new PagesQualityParser()); - log.debug("DateParser添加情况: {}", runnerConfig.hasStringParameterParser(Date.class)); - processRunner = new ArgumentsRunner(BotCommandProcess.class, runnerConfig); adminRunner = new ArgumentsRunner(BotAdminCommandProcess.class, runnerConfig); diff --git a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java index eff65ef..abe9214 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java @@ -6,9 +6,9 @@ import net.lz1998.cq.robot.CoolQ; public class SpringCQMessageSender implements MessageSender { - private CoolQ coolQ; - private MessageSource source; - private long target; + private final CoolQ coolQ; + private final MessageSource source; + private final long target; public SpringCQMessageSender(CoolQ coolQ, MessageSource source, long target) { this.coolQ = coolQ; diff --git a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java index c58a298..f53884b 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java @@ -151,7 +151,7 @@ public class MiraiMessageSender implements MessageSender { synchronized (imageName) { if(!imageIdCache.exists(imageName) || Strings.nullToEmpty(code.getParameter("updateCache")) .equalsIgnoreCase("true")) { - log.debug("imageName [{}] 缓存失效或强制更新, 正在更新缓存...", imageName); + log.trace("imageName [{}] 缓存失效或强制更新, 正在更新缓存...", imageName); image = uploadImage0(new File(absolutePath)); String cacheExpireAt; long expireTime = 864000000; // 10d @@ -163,13 +163,13 @@ public class MiraiMessageSender implements MessageSender { } } imageIdCache.update(imageName, image.getImageId(), expireTime); - log.debug("imageName [{}] 缓存更新完成.(有效时间: {})", imageName, expireTime); + log.trace("imageName [{}] 缓存更新完成.(有效时间: {})", imageName, expireTime); } else { - log.debug("ImageName: [{}] 缓存命中.", imageName); + log.trace("ImageName: [{}] 缓存命中.", imageName); } } } else { - log.debug("ImageName: [{}] 缓存命中.", imageName); + log.trace("ImageName: [{}] 缓存命中.", imageName); } if(image == null) { diff --git a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java index c9b6626..81713a0 100644 --- a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java +++ b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java @@ -31,6 +31,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.BiConsumer; +@SuppressWarnings("ALL") public class PixivDownload { private final static Logger log = LoggerFactory.getLogger(PixivDownload.class); @@ -115,10 +116,10 @@ public class PixivDownload { } } } while(!document.select(".pager-container>.next").isEmpty()); - log.debug("获取完成."); + log.trace("获取完成."); AtomicInteger count = new AtomicInteger(1); linkList.forEach(link -> { - log.debug("Next Link [{}]: {}", count.getAndIncrement(), link); + log.trace("Next Link [{}]: {}", count.getAndIncrement(), link); InputStream imageInputStream = null; int tryCount = 0; do { @@ -133,9 +134,9 @@ public class PixivDownload { } while(imageInputStream == null); try(InputStream imageInput = new BufferedInputStream(imageInputStream, 256 * 1024)) { - log.debug("调用回调方法..."); + log.trace("调用回调方法..."); fn.accept(link, imageInput); - log.debug("回调方法调用完成."); + log.trace("回调方法调用完成."); } catch (IOException e) { log.error("图片获取失败", e); } @@ -219,8 +220,8 @@ public class PixivDownload { int authorId = rankInfo.get("user_id").getAsInt(); String authorName = rankInfo.get("user_name").getAsString(); String title = rankInfo.get("title").getAsString(); - log.debug("当前到第 {}/{} 名(总共 {} 名), IllustID: {}, Author: ({}) {}, Title: {}", rank, rankStart + range - 1, range, illustId, authorId, authorName, title); - log.debug("正在获取PagesLink..."); + log.trace("当前到第 {}/{} 名(总共 {} 名), IllustID: {}, Author: ({}) {}, Title: {}", rank, rankStart + range - 1, range, illustId, authorId, authorName, title); + log.trace("正在获取PagesLink..."); List linkList; try { linkList = getIllustAllPageDownload(httpClient, this.cookieStore, illustId, quality); @@ -235,14 +236,14 @@ public class PixivDownload { log.debug("PagesLink 获取完成, 总数: {}", linkList.size()); for (int pageIndex = 0; pageIndex < linkList.size(); pageIndex++) { String downloadLink = linkList.get(pageIndex); - log.debug("当前Page: {}/{}", pageIndex + 1, linkList.size()); + log.trace("当前Page: {}/{}", pageIndex + 1, linkList.size()); try(InputStream imageInputStream = new BufferedInputStream(getImageAsInputStream(HttpClientBuilder.create().build(), downloadLink), 256 * 1024)) { fn.download(rank, downloadLink, rankInfo.deepCopy(), imageInputStream); } catch(IOException e) { log.error("下载插画时发生异常", e); return; } - log.debug("完成."); + log.trace("完成."); } }); } @@ -265,7 +266,7 @@ public class PixivDownload { int authorId = rankInfo.get("user_id").getAsInt(); String authorName = rankInfo.get("user_name").getAsString(); String title = rankInfo.get("title").getAsString(); - log.debug("Array-当前到第 {}/{} 名(总共 {} 名), IllustID: {}, Author: ({}) {}, Title: {}", rank, rankStart + range, range, illustId, authorId, authorName, title); + log.trace("Array-当前到第 {}/{} 名(总共 {} 名), IllustID: {}, Author: ({}) {}, Title: {}", rank, rankStart + range, range, illustId, authorId, authorName, title); results.add(rankInfo); } log.debug("JsonArray读取完成."); @@ -320,10 +321,10 @@ public class PixivDownload { boolean canNext = true; for (int pageIndex = startPages; canNext && pageIndex <= endPages && count < range; pageIndex++) { HttpGet request = createHttpGetRequest(PixivURL.getRankingLink(contentType, mode, time, pageIndex, true)); - log.debug("RequestUri: {}", request.getURI()); + log.trace("RequestUri: {}", request.getURI()); HttpResponse response = httpClient.execute(request); String responseBody = EntityUtils.toString(response.getEntity()); - log.debug("ResponseBody: {}", responseBody); + log.trace("ResponseBody: {}", responseBody); if(response.getStatusLine().getStatusCode() != 200) { throw new IOException("Http Response Error: '" + response.getStatusLine() + "', ResponseBody: '" + responseBody + '\''); } @@ -399,7 +400,7 @@ public class PixivDownload { if(resultObject.get("error").getAsBoolean()) { String message = resultObject.get("message").getAsString(); - log.debug("请求错误, 错误信息: {}", message); + log.warn("作品页面接口请求错误, 错误信息: {}", message); throw new IOException(message); } @@ -473,9 +474,11 @@ public class PixivDownload { request.addHeader(HttpHeaderNames.REFERER.toString(), referer); HttpResponse response = httpClient.execute(request); - log.debug("response: {}", response); - log.debug("Content Length: {}KB", Float.parseFloat(response.getFirstHeader(HttpHeaderNames.CONTENT_LENGTH.toString()).getValue()) / 1024F); - log.debug("{}", response.getFirstHeader(HttpHeaderNames.CONTENT_TYPE.toString())); + log.trace("response: {}", response); + log.trace("Content Length: {}KB", + Float.parseFloat(response.getFirstHeader(HttpHeaderNames.CONTENT_LENGTH.toString()).getValue()) / 1024F + ); + log.trace(response.getFirstHeader(HttpHeaderNames.CONTENT_TYPE.toString()).toString()); return response.getEntity().getContent(); } @@ -548,7 +551,7 @@ public class PixivDownload { HttpGet request = createHttpGetRequest(PixivURL.getPixivIllustInfoAPI(illustId)); HttpResponse response = httpClient.execute(request); String responseStr = EntityUtils.toString(response.getEntity()); - log.debug("Response Content: {}", responseStr); + log.trace("Response Content: {}", responseStr); JsonObject responseObj = new Gson().fromJson(responseStr, JsonObject.class); if(responseObj.get("error").getAsBoolean()) { diff --git a/src/main/java/net/lamgc/cgj/pixiv/PixivUgoiraBuilder.java b/src/main/java/net/lamgc/cgj/pixiv/PixivUgoiraBuilder.java index 04805fa..731d3ad 100644 --- a/src/main/java/net/lamgc/cgj/pixiv/PixivUgoiraBuilder.java +++ b/src/main/java/net/lamgc/cgj/pixiv/PixivUgoiraBuilder.java @@ -46,7 +46,7 @@ public final class PixivUgoiraBuilder { log.debug("Request Url: {}", request.getURI()); HttpResponse response = httpClient.execute(request); String bodyStr = EntityUtils.toString(response.getEntity()); - log.debug("JsonBodyStr: {}", bodyStr); + log.trace("JsonBodyStr: {}", bodyStr); JsonObject resultObject = new Gson().fromJson(bodyStr, JsonObject.class); if(resultObject.get("error").getAsBoolean()) { String message = resultObject.get("message").getAsString(); @@ -173,10 +173,10 @@ public final class PixivUgoiraBuilder { private void getUgoiraImageSize() throws IOException { log.debug("正在从Pixiv获取动图尺寸..."); HttpGet request = new HttpGet(PixivURL.getPixivIllustInfoAPI(illustId)); - log.debug("Request Url: {}", request.getURI()); + log.trace("Request Url: {}", request.getURI()); HttpResponse response = httpClient.execute(request); String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); - log.debug("ResponseBody: {}", responseBody); + log.trace("ResponseBody: {}", responseBody); JsonObject resultObject = new Gson().fromJson(responseBody, JsonObject.class); if(resultObject.get("error").getAsBoolean()) { String message = resultObject.get("message").getAsString(); diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index a0c5954..947f1be 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -34,6 +34,9 @@ + + + diff --git a/src/test/java/net/lamgc/cgj/pixiv/PixivSearchBuilderTest.java b/src/test/java/net/lamgc/cgj/pixiv/PixivSearchBuilderTest.java index 5287c67..0ebf0d2 100644 --- a/src/test/java/net/lamgc/cgj/pixiv/PixivSearchBuilderTest.java +++ b/src/test/java/net/lamgc/cgj/pixiv/PixivSearchBuilderTest.java @@ -8,7 +8,6 @@ public class PixivSearchBuilderTest { @Test public void buildTest() { PixivSearchBuilder builder = new PixivSearchBuilder("hololive"); - //builder.addExcludeKeyword("fubuki").addExcludeKeyword("minato"); builder.addIncludeKeyword("35").addIncludeKeyword("okayu").addIncludeKeyword("百鬼あやめ"); System.out.println(builder.buildURL()); }