Middleware til logging og måling af ydeevne
Byg observability ind i Deres tRPC-API med middleware, der logger hvert kald og måler dets udførelsestid.
Middleware til logging og måling af ydeevne er en gratis Typesikre API'er fra frontend til backend med tRPC-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Typesikre API'er fra frontend til backend med tRPC, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Typesikre API'er fra frontend til backend med tRPC-kurset indeholder 4 lektioner i alt.
Hvorfor observere hvert kald?
Du bruger allerede middleware til godkendelse. Middleware er også perfekt til tværgående hensyn som logging og tidsmåling, der skal gælde for mange procedurer.
Opsummering af middleware
En tRPC-middleware pakker en procedure ind: Den kører kode, kalder next() og kan derefter køre kode, når resultatet foreligger.
const mw = t.middleware(async (opts) => {
// before
const result = await opts.next();
// after
return result;
});En simpel logger
Log proceduretypen og stien ved hvert kald.
const logger = t.middleware(async ({ path, type, next }) => {
console.log("-> " + type + " " + path);
return next();
});Måling af varighed
Registrer tiden før og efter next() for at beregne, hvor lang tid kaldet tog.
const timing = t.middleware(async ({ path, next }) => {
const start = Date.now();
const result = await next();
const ms = Date.now() - start;
console.log(path + " took " + ms + "ms");
return result;
});Undersøgelse af resultatet
Resultatet fortæller, om kaldet lykkedes, hvilket er nyttigt til logging af fejlrater.
const result = await next();
console.log(result.ok ? "ok" : "error");
return result;Tilknytning til en procedure
Brug .use() til at anvende middleware, når du definerer en basisprocedure.
const loggedProcedure = t.procedure.use(logger).use(timing);Genbrug på tværs af routere
Eksportér den udvidede procedure, og byg alle routere ud fra den, så logging automatisk gælder overalt.
export const appRouter = router({
ping: loggedProcedure.query(() => "pong"),
});Tilføjelse af anmodnings-id'er
Generér et entydigt id for hvert kald, så du kan sammenkæde logs på tværs af tjenester.
const withId = t.middleware(async ({ next, ctx }) => {
const reqId = crypto.randomUUID();
return next({ ctx: { ...ctx, reqId } });
});Struktureret logging
Udsend JSON i stedet for almindelig tekst, så logs kan søges i værktøjer som Datadog eller ELK.
console.log(JSON.stringify({ path, type, ms, level: "info" }));Middleware-rækkefølge
Middleware kører i den rækkefølge, den tilføjes. Placér tidsmålingen yderst, så den omfatter arbejdet i den indre middleware.
Sampling af logs
I API'er med stor trafik er det dyrt at logge hvert kald. Sample en procentdel af anmodningerne, så du bevarer overblikket uden at overbelaste din log-pipeline.
if (Math.random() < 0.1) console.log(path);Hurtigt tjek
Test din viden om middleware.
Opsummering
Du har tilføjet observerbarhed med middleware:
- Middleware kører kode før og efter next()
- Brug den til logging, tidsmåling og anmodnings-id'er
- Byg en delt basisprocedure, så den gælder overalt
God observerbarhed gør et tRPC-API langt nemmere at fejlfinde i produktion.
Lær Typesikre API'er fra frontend til backend med tRPC med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 10
- Lektioner
- 40
Ofte stillede spørgsmål
Er lektionen “Middleware til logging og måling af ydeevne” gratis?
Ja — alle 3 lektioner i læringssporet Typesikre API'er fra frontend til backend med tRPC, inklusive “Middleware til logging og måling af ydeevne”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Typesikre API'er fra frontend til backend med tRPC-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Middleware til logging og måling af ydeevne”?
Byg observability ind i Deres tRPC-API med middleware, der logger hvert kald og måler dets udførelsestid. Du øver dig i Typesikre API'er fra frontend til backend med tRPC med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Typesikre API'er fra frontend til backend med tRPC?
Der kræves ingen tidligere erfaring. Typesikre API'er fra frontend til backend med tRPC på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Middleware til logging og måling af ydeevne”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Typesikre API'er fra frontend til backend med tRPC-lektion?
Ja. Alle Typesikre API'er fra frontend til backend med tRPC-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Oprettelse af tRPC-context
- Godkendelses-middleware
- Tilpassede middleware-kæder
- Middleware til logging og måling af ydeevne