0Pricing
tRPC End-to-End Type Safe APIs · Pelajaran

Middleware Logging dan Pengukuran Kinerja

Bangun observabilitas ke dalam API tRPC Anda dengan middleware yang mencatat setiap pemanggilan dan mengukur waktu eksekusinya.

Middleware Logging dan Pengukuran Kinerja adalah pelajaran tRPC End-to-End Type Safe APIs gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar tRPC End-to-End Type Safe APIs, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus tRPC End-to-End Type Safe APIs mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Why Observe Every Call?

You already use middleware for auth. Middleware is also perfect for cross-cutting concerns like logging and timing that should apply to many procedures.

Middleware Recap

A tRPC middleware wraps a procedure: it runs code, calls next(), then can run code after the result.

const mw = t.middleware(async (opts) => {
  // before
  const result = await opts.next();
  // after
  return result;
});

A Simple Logger

Log the procedure type and path on every call.

const logger = t.middleware(async ({ path, type, next }) => {
  console.log("-> " + type + " " + path);
  return next();
});

Measuring Duration

Capture the time before and after next() to compute how long the call took.

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;
});

Inspecting the Result

The result tells you whether the call succeeded, useful for logging error rates.

const result = await next();
console.log(result.ok ? "ok" : "error");
return result;

Attaching to a Procedure

Use .use() to apply middleware when defining a base procedure.

const loggedProcedure = t.procedure.use(logger).use(timing);

Reusing Across Routers

Export the enhanced procedure and build all routers from it so logging applies everywhere automatically.

export const appRouter = router({
  ping: loggedProcedure.query(() => "pong"),
});

Adding Request IDs

Generate a unique id per call to correlate logs across services.

const withId = t.middleware(async ({ next, ctx }) => {
  const reqId = crypto.randomUUID();
  return next({ ctx: { ...ctx, reqId } });
});

Structured Logging

Emit JSON instead of plain text so logs are searchable in tools like Datadog or ELK.

console.log(JSON.stringify({ path, type, ms, level: "info" }));

Order of Middleware

Middleware runs in the order added. Put timing outermost so it includes the work of inner middleware.

Sampling Logs

In high-traffic APIs, logging every call is costly. Sample a percentage of requests so you keep visibility without overwhelming your log pipeline.

if (Math.random() < 0.1) console.log(path);

Quick Check

Test your middleware knowledge.

Recap

You added observability with middleware:

  • Middleware runs code before and after next()
  • Use it for logging, timing, and request IDs
  • Build a shared base procedure so it applies everywhere

Good observability makes a tRPC API far easier to debug in production.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Middleware Logging dan Pengukuran Kinerja” gratis?

Ya — teks lengkap “Middleware Logging dan Pengukuran Kinerja” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus tRPC End-to-End Type Safe APIs, upgrade ke CoddyKit PRO. Kursus tRPC End-to-End Type Safe APIs mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Middleware Logging dan Pengukuran Kinerja”?

Bangun observabilitas ke dalam API tRPC Anda dengan middleware yang mencatat setiap pemanggilan dan mengukur waktu eksekusinya. Kamu berlatih tRPC End-to-End Type Safe APIs dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai tRPC End-to-End Type Safe APIs?

Tidak diperlukan pengalaman sebelumnya. tRPC End-to-End Type Safe APIs di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Middleware Logging dan Pengukuran Kinerja” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran tRPC End-to-End Type Safe APIs ini?

Ya. Setiap pelajaran tRPC End-to-End Type Safe APIs menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Konteks tRPC
  2. Middleware Autentikasi
  3. Rantai Middleware Khusus
  4. Middleware Logging dan Pengukuran Kinerja
← Kembali ke tRPC End-to-End Type Safe APIs