Loggerlänk
Inofficiell Beta-översättning
Denna sida har översatts av PageTurner AI (beta). Inte officiellt godkänd av projektet. Hittade du ett fel? Rapportera problem →
loggerLink är en länk som låter dig implementera en logger för din tRPC-klient. Den gör det tydligare att se vilka operationer som är queries, mutationer eller prenumerationer, samt deras förfrågningar och svar. Som standard skriver länken ut en formaterad logg till webbläsarens konsol. Du kan dock anpassa loggningsbeteendet och hur informationen skrivs till konsolen med egna implementationer.
Användning
Du kan importera och lägga till loggerLink i links-arrayen så här:
client/index.tstsimport { createTRPCProxyClient, httpBatchLink, loggerLink } from '@trpc/client';import type { AppRouter } from '../server';const client = createTRPCProxyClient<AppRouter>({links: [/*** The function passed to enabled is an example in case you want to the link to* log to your console in development and only log errors in production*/loggerLink({enabled: (opts) =>(process.env.NODE_ENV === 'development' &&typeof window !== 'undefined') ||(opts.direction === 'down' && opts.result instanceof Error),}),httpBatchLink({url: 'http://localhost:3000',}),],});
client/index.tstsimport { createTRPCProxyClient, httpBatchLink, loggerLink } from '@trpc/client';import type { AppRouter } from '../server';const client = createTRPCProxyClient<AppRouter>({links: [/*** The function passed to enabled is an example in case you want to the link to* log to your console in development and only log errors in production*/loggerLink({enabled: (opts) =>(process.env.NODE_ENV === 'development' &&typeof window !== 'undefined') ||(opts.direction === 'down' && opts.result instanceof Error),}),httpBatchLink({url: 'http://localhost:3000',}),],});
Alternativ för loggerLink
Funktionen loggerLink tar ett options-objekt med LoggerLinkOptions-struktur:
tstype LoggerLinkOptions<TRouter extends AnyRouter> = {logger?: LogFn<TRouter>;/*** It is a function that returns a condition that determines whether to enable the logger.* It is true by default.*/enabled?: EnabledFn<TRouter>;/*** Used in the built-in defaultLogger*/console?: ConsoleEsque;/*** Color mode used in the default logger.* @default typeof window === 'undefined' ? 'ansi' : 'css'*/colorMode?: 'ansi' | 'css';};
tstype LoggerLinkOptions<TRouter extends AnyRouter> = {logger?: LogFn<TRouter>;/*** It is a function that returns a condition that determines whether to enable the logger.* It is true by default.*/enabled?: EnabledFn<TRouter>;/*** Used in the built-in defaultLogger*/console?: ConsoleEsque;/*** Color mode used in the default logger.* @default typeof window === 'undefined' ? 'ansi' : 'css'*/colorMode?: 'ansi' | 'css';};
Referens
Du kan se källkoden för denna länk på GitHub.