Berbagi teknologi

Cetak log melalui gateway untuk mengontrol log secara global

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

membutuhkan:

Bisnis sering kali perlu mencetak log. Kode tradisional plus log terlalu mengganggu kode. Terlepas dari penambahan, penghapusan, atau modifikasi log, kode tersebut akan diubah. Meskipun anotasi digunakan, anotasi perlu ditambahkan mencapai ini, tambahkan kode tanpa gangguan apa pun.

Larutan

filter khusus gerbang.
Prasyarat, gateway telah digunakan dalam proyek.

kode


import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
@Component
@Slf4j
public class MyGlobalFilter implements GlobalFilter, Ordered
{

    /**
     * 数字越小优先级越高
     * @return
     */
    @Override
    public int getOrder()
    {
        return 0;
    }

    private static final String BEGIN_VISIT_TIME = "begin_visit_time";//开始访问时间
    /**
     *第2版,各种统计
     * @param exchange
     * @param chain
     * @return
     */
    @Override
    public Mono