From 481326614ea85052d32481c89834dd8cfc53d2d8 Mon Sep 17 00:00:00 2001 From: CJ Brewer Date: Fri, 13 Jun 2025 12:38:56 -0600 Subject: [PATCH 1/3] feat(events): add debug and info logger --- .changeset/cold-ravens-drum.md | 5 ++++ bun.lock | 6 +++-- packages/events/src/server/index.ts | 41 +++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 .changeset/cold-ravens-drum.md diff --git a/.changeset/cold-ravens-drum.md b/.changeset/cold-ravens-drum.md new file mode 100644 index 0000000..6a872f7 --- /dev/null +++ b/.changeset/cold-ravens-drum.md @@ -0,0 +1,5 @@ +--- +"@byteslice/events": minor +--- + +Added info and debug logger. diff --git a/bun.lock b/bun.lock index d1e992d..b665dcb 100644 --- a/bun.lock +++ b/bun.lock @@ -15,7 +15,7 @@ }, "apps/playground": { "name": "@byteslice/playground", - "version": "0.2.2", + "version": "0.2.3", "dependencies": { "@byteslice/events": "workspace:0.5.0", "next": "15.1.3", @@ -33,7 +33,7 @@ }, "packages/events": { "name": "@byteslice/events", - "version": "0.5.0", + "version": "0.6.0", "dependencies": { "@byteslice/result": "0.2.2", "@supabase/supabase-js": "2.50.0", @@ -972,6 +972,8 @@ "yaml": ["yaml@2.8.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ=="], + "@byteslice/events/@byteslice/result": ["@byteslice/result@0.2.2", "", {}, "sha512-dYAFK4SYj57r5WXB5ASrEztoTifMztFm8VTXDZLEgXTQ6lf39CtJPYCUrbugOeUoleqUr0vj7fqolVTShJFv/g=="], + "@changesets/apply-release-plan/detect-indent": ["detect-indent@6.1.0", "", {}, "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA=="], "@changesets/git/spawndamnit": ["spawndamnit@3.0.1", "", { "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" } }, "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg=="], diff --git a/packages/events/src/server/index.ts b/packages/events/src/server/index.ts index d340862..b8f6fb8 100644 --- a/packages/events/src/server/index.ts +++ b/packages/events/src/server/index.ts @@ -3,6 +3,23 @@ import { createClient } from '@supabase/supabase-js' import { Resend } from 'resend' import type { EventProperties, PageParams } from './types' +type LogLevel = 'info' | 'debug' | 'none' + +const LOG_LEVEL = (process.env.BYTESLICE_LOG_LEVEL || 'none') as LogLevel + +const logger = { + info: (...args: unknown[]) => { + if (LOG_LEVEL === 'info' || LOG_LEVEL === 'debug') { + console.log('[Byteslice Events]', ...args) + } + }, + debug: (...args: unknown[]) => { + if (LOG_LEVEL === 'debug') { + console.debug('[Byteslice Events]', ...args) + } + }, +} + if ( !process.env.NEXT_PUBLIC_SUPABASE_URL || !process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY @@ -27,6 +44,9 @@ export function track( ): Promise> { return withResult( async () => { + logger.info('Tracking event:', event) + logger.debug('Event properties:', properties) + const { data, error } = await supabase .from('events') .insert({ @@ -40,7 +60,11 @@ export function track( .select('id') .single() + logger.info('Event tracked:', data?.id) + logger.debug('Event data:', data) + if (error) { + logger.debug('Error tracking event:', error) throw error } @@ -61,6 +85,9 @@ export function page( ): Promise> { return withResult( async () => { + logger.info('Tracking page view') + logger.debug('Page params:', params) + const { data, error } = await supabase .from('events') .insert({ @@ -72,7 +99,11 @@ export function page( .select('id') .single() + logger.info('Page view tracked:', data?.id) + logger.debug('Page view data:', data) + if (error) { + logger.debug('Error tracking page view:', error) throw error } @@ -98,6 +129,12 @@ export async function sendEmail( ): Promise> { return withResult( async () => { + logger.info('Sending email to:', params.to) + logger.debug('Email details:', { + subject: params.subject, + from: params.from, + }) + const { data, error } = await resend.emails.send({ from: params.from ?? 'transactions@byteslice.co', to: params.to, @@ -105,7 +142,11 @@ export async function sendEmail( html: params.html, }) + logger.info('Email sent:', data?.id) + logger.debug('Email data:', data) + if (error) { + logger.debug('Error sending email:', error) throw error } From 8b8f39cdc7b332d91ecdc012852cb655400406ac Mon Sep 17 00:00:00 2001 From: CJ Brewer Date: Fri, 13 Jun 2025 12:40:14 -0600 Subject: [PATCH 2/3] chore: lock --- bun.lock | 2 -- 1 file changed, 2 deletions(-) diff --git a/bun.lock b/bun.lock index b665dcb..a84a60f 100644 --- a/bun.lock +++ b/bun.lock @@ -972,8 +972,6 @@ "yaml": ["yaml@2.8.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ=="], - "@byteslice/events/@byteslice/result": ["@byteslice/result@0.2.2", "", {}, "sha512-dYAFK4SYj57r5WXB5ASrEztoTifMztFm8VTXDZLEgXTQ6lf39CtJPYCUrbugOeUoleqUr0vj7fqolVTShJFv/g=="], - "@changesets/apply-release-plan/detect-indent": ["detect-indent@6.1.0", "", {}, "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA=="], "@changesets/git/spawndamnit": ["spawndamnit@3.0.1", "", { "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" } }, "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg=="], From 96ba922dbc82f29ba91701a3e51763d88348f8b2 Mon Sep 17 00:00:00 2001 From: CJ Brewer Date: Fri, 13 Jun 2025 12:41:48 -0600 Subject: [PATCH 3/3] chore: spelling --- packages/events/src/server/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/events/src/server/index.ts b/packages/events/src/server/index.ts index b8f6fb8..821fcc3 100644 --- a/packages/events/src/server/index.ts +++ b/packages/events/src/server/index.ts @@ -10,12 +10,12 @@ const LOG_LEVEL = (process.env.BYTESLICE_LOG_LEVEL || 'none') as LogLevel const logger = { info: (...args: unknown[]) => { if (LOG_LEVEL === 'info' || LOG_LEVEL === 'debug') { - console.log('[Byteslice Events]', ...args) + console.log('[ByteSlice Events]', ...args) } }, debug: (...args: unknown[]) => { if (LOG_LEVEL === 'debug') { - console.debug('[Byteslice Events]', ...args) + console.debug('[ByteSlice Events]', ...args) } }, }