Commit 1d5e3be2 authored by 赵啸非's avatar 赵啸非

添加工作人员最后登录时间

parent 19a1e437
...@@ -171,21 +171,38 @@ public class AccessLogFilter implements GlobalFilter, Ordered { ...@@ -171,21 +171,38 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
headers.remove(HttpHeaders.CONTENT_LENGTH); headers.remove(HttpHeaders.CONTENT_LENGTH);
CachedBodyOutputMessage outputMessage = new CachedBodyOutputMessage(exchange, headers); CachedBodyOutputMessage outputMessage = new CachedBodyOutputMessage(exchange, headers);
log.info("decoratedRequest 0"); log.info("decoratedRequest 0");
return bodyInserter.insert(outputMessage, new BodyInserterContext()) return bodyInserter.insert(outputMessage, new BodyInserterContext())
.then(Mono.defer(() -> { .then(Mono.defer(() -> {
// 重新封装请求
Flux<DataBuffer> dataBuffers = Flux.from(outputMessage.getBody()); Flux<DataBuffer> dataBuffers = Flux.from(outputMessage.getBody());
log.info("decoratedRequest 1"); return outputMessage.writeWith(dataBuffers.map(d -> {
ServerHttpRequest decoratedRequest = requestDecorate(exchange, headers, outputMessage); byte[] bytes = new byte[d.readableByteCount()];
// 记录响应日志 d.read(bytes);
ServerHttpResponseDecorator decoratedResponse = recordResponseLog(exchange, accessLogPdu); DataBufferUtils.release(d);
// 记录普通的 return bytes;
return chain.filter(exchange.mutate().request(decoratedRequest).response(decoratedResponse).build()) }).map(bytes -> {
.then(Mono.fromRunnable(() -> { DataBuffer buffer = outputMessage.bufferFactory().wrap(bytes);
// 打印日志 并发送 return buffer;
writeAccessLog(accessLogPdu); }).doOnError(error -> {
//DataBufferUtils.release(dataBuffers);
})); }));
})); }));
// return bodyInserter.insert(outputMessage, new BodyInserterContext())
// .then(Mono.defer(() -> {
// // 重新封装请求
// Flux<DataBuffer> dataBuffers = Flux.from(outputMessage.getBody());
// log.info("decoratedRequest 1");
// ServerHttpRequest decoratedRequest = requestDecorate(exchange, headers, outputMessage);
// // 记录响应日志
// ServerHttpResponseDecorator decoratedResponse = recordResponseLog(exchange, accessLogPdu);
// // 记录普通的
// return chain.filter(exchange.mutate().request(decoratedRequest).response(decoratedResponse).build())
// .then(Mono.fromRunnable(() -> {
// // 打印日志 并发送
// writeAccessLog(accessLogPdu);
// }));
// }));
} }
private void writeAccessLog(AccessLogPdu accessLogPdu) { private void writeAccessLog(AccessLogPdu accessLogPdu) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment