对话、重新生成、评价完成

This commit is contained in:
2025-11-05 16:55:58 +08:00
parent 8850a06fea
commit d9d62e22de
34 changed files with 1658 additions and 965 deletions

View File

@@ -10,6 +10,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.xyzh.common.utils.StringUtils;
import org.xyzh.common.utils.spring.SpringContextUtil;
import java.util.concurrent.ArrayBlockingQueue;
@@ -78,12 +79,20 @@ public class DatabaseAppender extends AbstractAppender {
// 尝试获取请求信息
Class<?> servletUtilsClass = Class.forName("org.xyzh.common.utils.ServletUtils");
requestUrl = (String) servletUtilsClass.getMethod("getRequestUrl").invoke(null);
if(StringUtils.isNotBlank(requestUrl)){
// 移除URL参数部分使用indexOf避免正则表达式问题
int questionMarkIndex = requestUrl.indexOf('?');
if(questionMarkIndex != -1) {
requestUrl = requestUrl.substring(0, questionMarkIndex);
}
}
requestMethod = (String) servletUtilsClass.getMethod("getHeader", String.class).invoke(null, "X-HTTP-Method-Override");
ipAddress = (String) servletUtilsClass.getMethod("getClientIp").invoke(null);
ipSource = (String) servletUtilsClass.getMethod("getIpSource").invoke(null);
browser = (String) servletUtilsClass.getMethod("getBrowser").invoke(null);
os = (String) servletUtilsClass.getMethod("getOs").invoke(null);
} catch (Exception e) {
e.printStackTrace();
// 非HTTP请求上下文或类不存在忽略
}