@artim-industries/stacktrace-sdk-react
v1.0.6
Published
React SDK for Artim Stacktrace.
Readme
@artim-industries/stacktrace-sdk-react
React SDK for Artim Stacktrace.
This package provides a lightweight React integration for capturing exceptions, messages, and user context in your React application and sending them to the Artim Stacktrace backend.
Installation
npm install @artim-industries/stacktrace-sdk-reactUsage
Basic Setup
import { ArtimStacktrace } from "@artim-industries/stacktrace-sdk-react";
ArtimStacktrace.init({
apiKey: "your-api-key",
environment: "production",
release: "1.0.0",
});Capture errors manually
try {
// some code that throws
} catch (error) {
ArtimStacktrace.captureException(error as Error);
}Capture messages
ArtimStacktrace.captureMessage("A recoverable warning occurred", "warning");Set user context
ArtimStacktrace.setUser({
id: "user-123",
email: "[email protected]",
username: "jane.doe",
});Identify user
ArtimStacktrace.identify("user-123");React integration
For React apps, use the exported React helpers.
Error boundary
// providers/ErrorProvider.tsx
"use client";
import { useRef } from "react";
import { ArtimErrorBoundary } from "@artim-industries/stacktrace-sdk-react/react";
import { ArtimStacktrace } from "@artim-industries/stacktrace-sdk-react";
export default function ErrorProvider({
children,
}: {
children: React.ReactNode;
}) {
const initialized = useRef(false);
if (typeof window !== "undefined" && !initialized.current) {
ArtimStacktrace.init({
apiKey: "your_api_key",
environment: "production",
release: "1.0.0",
});
initialized.current = true;
}
return (
<ArtimErrorBoundary errorComponent={<h1>Custom Error Component</h1>}>
{children}
</ArtimErrorBoundary>
);
}//layout.tsx
import ErrorProvider from "@/providers/ErrorProvider";
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="de">
<body>
<ErrorProvider>{children}</ErrorProvider>
</body>
</html>
);
}Hook for user context
import { useArtimUser } from "@artim-industries/stacktrace-sdk-react/react";
function App({ user }) {
useArtimUser(user);
return <YourApp />;
}API
ArtimStacktrace.init(config)
Initializes the SDK with required configuration.
apiKey(string): API key for authenticating requests.environment(string): Deployment environment.release(string): Release version.
ArtimStacktrace.captureException(error, level?)
Captures an exception and sends it to the backend.
error(Error): Error object.level(error|warning|fatal, defaulterror): Event severity.
ArtimStacktrace.captureMessage(message, level?)
Captures a custom message.
message(string): Text message.level(error|warning|fatal, defaultwarning): Event severity.
ArtimStacktrace.setUser(user)
Sets the current user context for future events.
ArtimStacktrace.identify(userId)
Sets the current user identity.
Build
npm run buildPackage exports
@artim-industries/stacktrace-sdk-react— core SDK@artim-industries/stacktrace-sdk-react/react— React helpers
License
MIT
Important
Does not work if there's already a error boundary (like in Next.js a error.tsx in root etc.)
