in shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-clickhouse/src/main/java/org/apache/shenyu/plugin/logging/clickhouse/client/ClickHouseLogCollectClient.java [60:110]
public void consume0(@NonNull final List<ShenyuRequestLog> logs) throws Exception {
if (CollectionUtils.isNotEmpty(logs)) {
Object[][] datas = new Object[logs.size()][];
for (int i = 0; i < logs.size(); i++) {
Object[] data = new Object[] {
DateUtils.parseLocalDateTime(logs.get(i).getTimeLocal(), DateUtils.DATE_FORMAT_DATETIME_MILLISECOND),
logs.get(i).getClientIp(),
logs.get(i).getMethod(),
logs.get(i).getRequestHeader(),
logs.get(i).getResponseHeader(),
logs.get(i).getQueryParams(),
logs.get(i).getRequestBody(),
logs.get(i).getRequestUri(),
logs.get(i).getResponseBody(),
logs.get(i).getResponseContentLength(),
logs.get(i).getRpcType(),
logs.get(i).getStatus(),
logs.get(i).getUpstreamIp(),
logs.get(i).getUpstreamResponseTime(),
logs.get(i).getUserAgent(),
logs.get(i).getHost(),
logs.get(i).getModule(),
logs.get(i).getTraceId(),
logs.get(i).getPath(),
};
datas[i] = data;
}
ClickHouseClient.send(endpoint, String.format(ClickHouseLoggingConstant.PRE_INSERT_SQL, database),
new ClickHouseValue[]{
ClickHouseOffsetDateTimeValue.ofNull(3, TimeZone.getTimeZone("Asia/Shanghai")),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseIntegerValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseIntegerValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseLongValue.ofNull(false),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
ClickHouseStringValue.ofNull(),
}, datas).get();
}
}