Я пытался зарегистрировать запрос / ответ с помощью Play Framework, но я не могу зарегистрировать ответ, но запрашиваю в журнале - PullRequest
0 голосов
/ 05 мая 2020

Это тот фильтр, который я использую.

package filters;
import java.util.concurrent.CompletionStage;
import java.util.function.Function;
import javax.inject.Inject;
import akka.stream.Materializer;
import play.Logger;
import play.mvc.*;

public class LoggingFilter extends Filter {

    @Inject
    public LoggingFilter(Materializer mat) {
        super(mat);
    }

    @Override
    public CompletionStage<Result> apply(
            Function<Http.RequestHeader, CompletionStage<Result>> nextFilter,
            Http.RequestHeader requestHeader) {
        long startTime = System.currentTimeMillis();
        return nextFilter.apply(requestHeader).thenApply(result -> {
            long endTime = System.currentTimeMillis();
            long requestTime = endTime - startTime;

            Logger.info("{} {} {} took {}ms and returned {}",
                    requestHeader.method(), requestHeader.getHeaders().toMap(), requestHeader.uri(), requestTime, result.status());

            return result.withHeader("Request-Time", "" + requestTime);
        });
    }

    public CompletionStage<Result> Response(
            Function<ResponseHeader, CompletionStage<Result>> nextFilter,
            ResponseHeader responseHeader) {
        long startTime = System.currentTimeMillis();
        return nextFilter.apply(responseHeader).thenApply(result -> {
            long endTime = System.currentTimeMillis();
            long responseTime = endTime - startTime;

            Logger.info("{}  took {}ms and returned {}",
                    responseHeader, responseTime, result.status());

            return result.withHeader("Request-Time", "" + responseTime);
        });
    }
    
}

Я знаю, что создал неправильный метод для ответа, но я также новичок в этом java и фильтре. но я застрял здесь, если кто-нибудь знает о методе mdc / interceptor для игровой платформы, любезно помогите в этом же. Спасибо

...