logit
v1.0.2
Published
TypeScript SDK for Logit event logging
Maintainers
Readme
logit
TypeScript SDK for Logit. Send events with full type safety.

npm install logitQuick start
import { init } from "logit";
const logit = init({ token: "your-api-key" });
await logit.now("channel-name", {
event: "User signed up",
description: "Optional details",
notify: true,
});Config: token is required.
Examples
Simple event
const logit = init({ token: "your-api-key" });
await logit.now("free-trial", {
event: "User signed up",
});All common fields
await logit.now("free-trial", {
event: "User signed up",
description: "Email: [email protected] | Plan: pro",
icon: "👤",
notify: true,
tags: { environment: "production", priority: "high" },
metadata: { userId: "123", email: "[email protected]" },
});Error handling
import { init, LogitError } from "logit";
const logit = init({ token: "your-api-key" });
try {
const res = await logit.now("alerts", { event: "Test" });
console.log(res.id);
} catch (error) {
if (error instanceof LogitError) {
console.error(error.message, error.statusCode, error.details);
} else {
throw error;
}
}User signup
await logit.now("user-signups", {
event: "User signed up",
description: `Email: ${user.email} | Plan: ${user.plan}`,
icon: "👤",
notify: true,
tags: { environment: process.env.NODE_ENV ?? "development", plan: user.plan },
metadata: { userId: user.id, email: user.email },
});Payment succeeded
await logit.now("payments", {
event: "Payment successful",
description: `$${payment.amount} — ${payment.plan}`,
icon: "💳",
notify: true,
tags: { plan: payment.plan },
metadata: {
userId: customer.id,
transactionId: payment.transactionId,
amount: payment.amount,
},
});better-auth (after user create)
import { betterAuth } from "better-auth";
import { init } from "logit";
const logit = init({
token: process.env.LOGIT_API_KEY!,
baseUrl: process.env.LOGIT_API_URL, // optional
});
export const auth = betterAuth({
// ...your full better-auth config (database, secret, etc.)
databaseHooks: {
user: {
create: {
after: async (user) => {
try {
await logit.now("user-signups", {
event: "User signed up",
description: `${user.email} — ${user.id}`,
notify: true,
metadata: { userId: user.id, email: user.email },
});
} catch (e) {
console.error("Logit:", e);
}
},
},
},
},
});
